2016-04-28 8 views
0

私たちのアプリケーションでは、Facebookと私たち自身の開発者認証プロバイダの両方を使用しています。一見すると、コンセプトをリンクしたりマージするのはかなり簡単ですが、私の質問に対する答えを理解することは驚くほど難しいです。ドキュメントは、2つの開発者IDを結合することが可能であることを明示的に示していますが、これは私が望むものではありません。開発者のIDと外部プロバイダのIDをマージできますか?

FBからのアイデンティティを取得するためには何が呼び出され、開発者のIDがマージされるのですか?この場合、これがマージまたはリンクかどうかはわかりません。

答えて

3

開発者が認証したIDをFacebookにリンクすることは可能です。ハイレベルのステップは、ユーザー認証が成功すると、バックエンド

  • に対して認証を、あなたが開発者のプロバイダ名とユーザー識別子(ユーザー名)を使用してアプリケーション内のログイン・マップを更新し、資格情報に更新を呼び出す
    1. これら

      ようになります。プロバイダ。
    2. これは、現在のidentityIdおよびloginsマップを渡して、アプリケーションからバックエンドへの呼び出しを呼び出す必要があります。その後、バックエンドからのデータを含むGetOpenIdTokenForDeveloperIdenityを呼び出します。http://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetOpenIdTokenForDeveloperIdentity.htmls
    3. ユーザーがFacebookでサインインすると、Facebookトークンを既存のログインマップに追加し、資格情報プロバイダで更新を呼び出します。これでステップ3が呼び出されるはずですが、バックエンドは2つのキーを持つログインマップを受け取ります。1.開発者プロバイダ名:user Identifier 2. 'graph.facebook.com':facebookトークン。 GetOpenIdTokenForDeveloperIdenityを呼び出すと、両方のキーを使用してログイン・マップを設定する必要があります。これにより、IDがリンクされます。

    実装の詳細については、

    「プロバイダ間の移行の支援」を、このマニュアルを参照してくださいとhttp://docs.aws.amazon.com/cognito/latest/developerguide/developer-authenticated-identities.htmlと参照してください。
  • 関連する問題