AWS Cognitoを使用して(Googleを使用して)認証し、ユーザーを認証しようとしています。承認されたユーザーにIAMロールを割り当てることを意図しています。AWS Cognito - 資格情報の問題
私はそのように受け取る 「グラント・フロー」を使用しています http://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html
GoogleのOAuthのプロセスを起動するための許可エンドポイントを使用して、今までは、以下の手順に
を踏襲していますas
code=b3e8bca6-5a01-45db-b4c6-cd6900d0xxxx
投稿を投稿トークン宣誓へのリクエスト/ http://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html
私は、以下の情報を受け取る:
"id_token": "eyJraWQiOiJJR2NVdHJcL3pOa3pQK1lre...........",
"access_token": "eyJraWQiOiJCbWx0cjJvMnJlVGhHW..........",
"refresh_token": "eyJjdHkiOiJKV1QiLCJlbmMiOi............",
"expires_in": 3600,
"token_type": "Bearer"
てみCognitoIdentityCredentials
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: environment.identityPoolId, // Federated ID eu-west-2:af47703f-350c-4018-ae6a-xxxxxx
RoleArn: environment.roleArn,// IAM role
Logins: { 'accounts.google.com': data.id_token },
});
AWS.config.getCredentials((error) => {
if(error) console.log("Error: ", error);
this.creds = AWS.config.credentials;
});
Iを使用してAWSのcredntionsをフェッチすると取得する 質問
- の悪い要求500エラー
{"__type":"NotAuthorizedException","message":"Invalid login token. Issuer doesn't match providerName"}
カップルは、一連のステップが正しいの後ですか?
id_token
は非常に長い文字列ですが、どの情報を抽出できますか?ご迷惑をおかけして申し訳ございません。
おかげ
ありがとう!!私はトークンを解読することができ、上記のissキーを使ってログインマップを修正しましたが、同じエラーメッセージ{"__type": "NotAuthorizedException"、 "message": "無効なログイントークン。プロバイダ名 "}。ログインマップの "token"によって、私はあなたがid_tokenを参照していると仮定します。 – maxkart
以下は私のid_token詳細 "アイデンティティ" は、次のとおりです。[ { "はuserId": "1068 ..."、 "providerNameで": "グーグル"、 "providerType": "グーグル"、 "発行者":ヌル、 //これで問題とプロバイダが一致しないのですか? "primary": "true"、 } ]、 – maxkart
ありがとうございます!最後にそれを動作させるために、私はissキーからhttps://を取り除かなければならなかった。 – maxkart