@@ -579,49 +579,31 @@ void QFieldCloudConnection::setAuthenticationToken( QNetworkRequest &request )
579
579
if ( mProviderConfigId .isEmpty () && mAvailableProviders .contains ( mProvider ) )
580
580
{
581
581
const QVariantMap providerDetails = mAvailableProviders [mProvider ].details ();
582
- const QVariantMap providerExtraTokens = providerDetails.value ( " extra_tokens" ).toMap ();
583
- QStringList extraTokens;
584
- for ( const QString &key : providerExtraTokens.keys () )
585
- {
586
- extraTokens << QStringLiteral ( " \" %1\" :\" %2\" " ).arg ( key, providerExtraTokens.value ( key ).toString () );
587
- }
582
+
583
+ QVariantMap configMap;
584
+ configMap[" accessMethod" ] = 0 ;
585
+ configMap[" clientId" ] = providerDetails.value ( " client_id" ).toString ();
586
+ configMap[" clientSecret" ] = providerDetails.value ( " client_secret" ).toString ();
587
+ configMap[" configType" ] = 1 ;
588
+ configMap[" description" ] = QString ( " Connection details for QFieldCloud using %1 provider" ).arg ( mProvider );
589
+ configMap[" extraTokens" ] = providerDetails.value ( " extra_tokens" ).toMap ();
590
+ configMap[" grantFlow" ] = 0 ;
591
+ configMap[" name" ] = QString ( " Autogenerated by QField" );
592
+ configMap[" persistToken" ] = true ;
593
+ configMap[" redirectHost" ] = QString ( " localhost" );
594
+ configMap[" redirectPort" ] = 7070 ;
595
+ configMap[" refreshTokenUrl" ] = providerDetails.value ( " refresh_token_url" ).toString ();
596
+ configMap[" requestTimeout" ] = 30 ;
597
+ configMap[" requestUrl" ] = providerDetails.value ( " request_url" ).toString ();
598
+ configMap[" scope" ] = providerDetails.value ( " scope" ).toString ();
599
+ configMap[" tokenUrl" ] = providerDetails.value ( " token_url" ).toString ();
600
+ configMap[" version" ] = 1 ;
601
+ QJsonDocument json = QJsonDocument::fromVariant ( configMap );
588
602
589
603
QgsAuthMethodConfig config;
590
604
config.setName ( " qfieldcloud-sso" );
591
605
config.setMethod ( " OAuth2" );
592
- config.setConfig ( " oauth2config" , QStringLiteral ( " {\" accessMethod\" :0,"
593
- " \" apiKey\" :null,"
594
- " \" clientId\" :\" %1\" ,"
595
- " \" clientSecret\" :\" %2\" ,"
596
- " \" configType\" :1,"
597
- " \" customHeader\" :null,"
598
- " \" description\" :\"\" ,"
599
- " \" grantFlow\" :0,"
600
- " \" id\" :null,"
601
- " \" name\" :null,"
602
- " \" objectName\" :\"\" ,"
603
- " \" password\" :null,"
604
- " \" persistToken\" :true,"
605
- " \" queryPairs\" :{\" 1\" :\" 1\" },"
606
- " \" redirectHost\" :\" localhost\" ,"
607
- " \" redirectPort\" :7070,"
608
- " \" redirectUrl\" :null,"
609
- " \" requestUrl\" :\" %3\" ,"
610
- " \" tokenUrl\" :\" %4\" ,"
611
- " \" refreshTokenUrl\" :\" %5\" ,"
612
- " \" scope\" :\" %6\" ,"
613
- " \" extraTokens\" :{%7},"
614
- " \" requestTimeout\" :30,"
615
- " \" username\" :null,"
616
- " \" version\" :1"
617
- " }" )
618
- .arg ( providerDetails.value ( " client_id" ).toString (),
619
- providerDetails.value ( " client_secret" ).toString (),
620
- providerDetails.value ( " request_url" ).toString (),
621
- providerDetails.value ( " token_url" ).toString (),
622
- providerDetails.value ( " refresh_token_url" ).toString (),
623
- providerDetails.value ( " scope" ).toString (),
624
- extraTokens.join ( ' ,' ) ) );
606
+ config.setConfig ( " oauth2config" , json.toJson () );
625
607
QgsApplication::instance ()->authManager ()->storeAuthenticationConfig ( config, true );
626
608
627
609
mProviderConfigId = config.id ();
0 commit comments