J'essaie d'implémenter AWS Mobile Hub dans iOS. Je vois mon identité sur Identity Browser lorsque je clique sur le bouton "Se connecter avec Google". Il n'y a pas de problème ici. Ensuite, je veux accéder à GIDGoogleUser. J'initialisés GIDGoogleUser mais je ne peux pas accéder aux informations de l'utilisateur:AWS Mobile Hub Authentification Google iOS
let googleUser = GIDGoogleUser.init()
Ensuite, j'ai vérifié est l'utilisateur connecté avec Google:
if(AWSGoogleSignInProvider.init().isLoggedIn){
print("Success")
}else{
print("Authentication error")
}
Je vois la sortie « d'erreur d'authentification » dans Xcode. Où est mon erreur? Et comment puis-je obtenir l'adresse e-mail et le nom complet de l'utilisateur google?
AppDelegate.swift:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
AWSGoogleSignInProvider.sharedInstance().setScopes(["profile","email", "openid"])
AWSSignInManager.sharedInstance().register(
signInProvider: AWSGoogleSignInProvider.sharedInstance())
let didFinishLaunching = AWSSignInManager.sharedInstance().interceptApplication(
application, didFinishLaunchingWithOptions: launchOptions)
if (!isInitialized) {
AWSSignInManager.sharedInstance().resumeSession(completionHandler: {
(result: Any?, error: Error?) in
print("Result: \(result) \n Error:\(error)")
})
isInitialized = true
}
return didFinishLaunching
}
Vous devriez utiliser la propriété 'currentUser' de l'instance partagée du client de connexion google pour avoir accès aux informations du client. Reportez-vous à: https://developers.google.com/identity/sign-in/ios/api/interface_g_i_d_sign_in.html#ac49bf5dabe7b89781cd58e69cb015651 –
Vous ne devriez pas utiliser 'AWSSignInManager.sharedInstance(). IsLoggedIn' pour vérifier la connexion? – Lawliet