2017-07-28 1 views
0

Je tente d'implémenter AppAuth dans iOS. la mise en œuvre de base a été faite. semble être tout fonctionne bien. mais je ne reçois pas le jeton comme prévu. im obtenir erreur Error Domain=org.openid.appauth.general Code=-4OAuth Erreur Code général 4 Swift - AppAuth pour iOS

let authorizationEndpoint : NSURL = NSURL(string: "https://accounts.google.com/o/oauth2/v2/auth")! 
    let tokenEndpoint : NSURL = NSURL(string: "https://www.googleapis.com/oauth2/v4/token")! 

    let configuration = OIDServiceConfiguration(authorizationEndpoint: authorizationEndpoint as URL, tokenEndpoint: tokenEndpoint as URL) 

    let request = OIDAuthorizationRequest.init(configuration: configuration, clientId: "<MyTOKEN>", scopes: [OIDScopeOpenID], redirectURL: URL(string: "http://127.0.0.1:9004")!, responseType: OIDResponseTypeCode, additionalParameters: nil) 

    let appDelegate = UIApplication.shared.delegate as! AppDelegate 
    //  appDelegate.currentAuthorizationFlow 
    appDelegate.currentAuthorizationFlow = OIDAuthState.authState(byPresenting: request, presenting: self, callback: { (authState, error) in 
     if((authState) != nil){ 
      print("Got authorization tokens. Access token: \(authState?.lastTokenResponse?.accessToken)") 
     }else{ 
      print("Authorization error \(error?.localizedDescription)") 
     } 
    }) 
+0

avez-vous mis clientSecret à la demande – Govaadiyo

+0

Ah non. il n'était pas mentionné dans le document 'https: // github.com/openid/AppAuth-iOS' comment faire cela? –

+0

trouvé dans le document mais 'client_secret \t Le secret client obtenu à partir de la console API. Cette valeur n'est pas nécessaire pour les clients enregistrés en tant qu'applications Android, iOS ou Chrome, puisque je ne l'utilise pas pour iOS, ce n'est pas nécessaire. –

Répondre

0

Après avoir traité des erreurs et des changements i compris le problème après avoir traité redirectUri et Token. redirectUri - une fois que vous avez autorisé avec google, il va générer le jeton et après cela, vous devez ouvrir l'application. redirectUri va vous aider avec ça. Voici comment vous pouvez configurer redirectUri

The value for iOS URL scheme wil be the scheme of your redirect URI. This is the Client ID in reverse domain name notation, e.g. com.googleusercontent.apps.IDENTIFIER. To construct the redirect URI, add your own path component. E.g. com.googleusercontent.apps.IDENTIFIER:/oauth2redirect/google. Note that there is only a single slash (/) after the scheme.