6

AWS JavaScript SDK を使用する Angular アプリがあり、Facebook と Google で正常にログインできます。Cognito ID を作成でき、Federated Identity プールに ID が表示されます。IAM 認証済み API エンドポイントを使用することもできます (呼び出している Lambda でユーザーの cognitoId を確認できます)。

ユーザーのメール アドレスをデータベース (DynamoDB) のキーとして使用したいので、Cognito (推奨) または認証プロバイダーの JWT のいずれかの信頼できるソースからユーザーのメール アドレスにアクセスする方法を見つけようとしています。

ユーザーのメールアドレスにアクセスする最良の方法は何ですか?

更新:クライアント側 (javascript) では、Google および Facebook トークンで Federated Identities を使用しています。ソーシャル ログインは機能しており、ログインを渡すことで、Cognito で問題なく認証を受けることができます。

AWS.config.credentials = new AWS.CognitoIdentityCredentials({
    IdentityPoolId: 'us-east-1:****',
    Logins: {
      'accounts.google.com': authResult['id_token']
    }
});

その後、AWS.config.credentials.get()のようなものを取得できますAWS.config.credentials.identityIdが、JWT を取得するために呼び出す accessToken またはメソッドが見つかりません。に電話する必要があると思いますresult.getAccessToken().getJwtToken()が、見つかりません。

accessToken を取得する例はすべて を使用しているように見えます.authenticateUser(authenticationDetails())が、詳細にはユーザー名とパスワードが含まれています (Federated login ではありません)。

4

1 に答える 1