2

私はAWS CognitoでFacebookログインを実装しようとしています。 Facebookからアクセストークンを受け取った後、資格情報プロバイダを更新できません。この後AWS Cognito credentialsProvider.loginは常にNIL(SWIFT)を表示します

let token = FBSDKAccessToken.currentAccessToken().tokenString 
credentialsProvider.logins = [AWSCognitoLoginProviderKey.Facebook.rawValue: token] 

、私は[AWSCognitoLoginProviderKey.Facebook.rawValue: token]を印刷する場合、私は長い文字列を取得しますが、私はcredentialsProvider.loginsを印刷する場合、私はNILを取得します。

この結果、Facebookにログインしても、自分の身元プールによってユーザーは認証されていないと常に表示されます。

ご協力いただければ幸いです。 ありがとうございます!

答えて

1

最新のAWS iOS SDKをお使いですか?はいの場合、credentialProvider.loginsは常にNILになり、アプリは認証されていないIDを作成します。

私たちはこれに関するドキュメントを更新中ですが、本質的にこれは実行する必要があります。

this constructorを使用して資格情報プロバイダを作成します。 identityProviderManagerは、AWSIdentityProviderManager Protocolの実装であり、ログインメソッドは、プロバイダー名の辞書マッピングをトークンに戻す必要があります。資格プロバイダは、IDプロバイダトークンが必要なたびにこのメソッドを呼び出します。

+0

AWSIdentityProviderManagerを作成する方法と、Swiftのログインに辞書マッピングを追加する方法に関するドキュメントはありますか? –

+0

こんにちは申し訳ありませんが、あなたが言ったように構造を試しました。まだ認証されていないユーザーを認証された 'code let ip = AWSIdentityProviderManager?.init();に変更できませんでした。 ip?.logins()。setValue(token、forKey: "graph.facebook.com") ' –

+0

ログインはマネージャに設定されていません。 loginsメソッドは、証明された名前の有効な辞書をキーとして、トークンを値として返すべきです。詳細については、[この回答](http://stackoverflow.com/a/37146730/3204480)を参照してください。 –

関連する問題