iOSでAWSモバイルハブを実装しようとしています。 「Googleでログイン」ボタンをクリックすると、アイデンティティブラウザに自分のアイデンティティIDが表示されます。ここに問題はありません。次に、GIDGoogleUserにアクセスします。私はGIDGoogleUserを初期化しますが、私は、ユーザー情報にアクセスすることはできません。AWSモバイルハブGoogle認証iOS
let googleUser = GIDGoogleUser.init()
それから私がチェックユーザーがGoogleでログインしている:
if(AWSGoogleSignInProvider.init().isLoggedIn){
print("Success")
}else{
print("Authentication error")
}
私はXcodeで「認証エラー」出力を参照してください。私のミスはどこですか?そして、どのように私は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
}
クライアント情報へのアクセスを取得するには、クライアントのgoogle signの共有インスタンスの 'currentUser'プロパティを使用する必要があります。参照:https://developers.google.com/identity/sign-in/ios/api/interface_g_i_d_sign_in.html#ac49bf5dabe7b89781cd58e69cb015651 –
ログインを確認するために 'AWSSignInManager.sharedInstance()。isLoggedIn'を使用するべきではありませんか? – Lawliet