SAMLidpから返されたコードをawscognitoでどのように使用して、cognitoからユーザー情報を取得しますか?
SPが使用する元のリンクはです。
https://some-subdomain.auth.us-east-1.amazoncognito.com/login?response_type=code&client_id=some-client-id&redirect_uri=https://some-api-gateway-subdomain.execute-api.us-east-1.amazonaws.com/dev/api/v1/some-endpoint
次に、ipdが認証を実行してから、spにリダイレクトします。
https://some-api-gateway-subdomain.execute-api.us-east-1.amazonaws.com/dev/api/v1/some-endpoint?code=12345
12345を使用してcogitoからユーザー情報を取得するにはどうすればよいですか。
私は私が打つことができるのを見ました
https://some-subdomain.auth.us-east-1.amazoncognito.com/oauth2/token
トークンを取得します。アプリシークレットを設定しなかったため、https: //docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.htmlによるとベアラートークンが必要です(これはoauth用であることに気付きましたが、見つかりませんでした特にsamlインタラクションのために応答コードを使用する方法について話しているドキュメント。)
ただし、grant_type、client_id、code、redirect_uriを渡してトークンを取得しようとすると、次のようになります。
{
"error": "unauthorized_client"
}
トークンを取得できた場合は、トークンを使用してヒットすることができます
https://some-subdomain.auth.us-east-1.amazoncognito.com/oauth2/userInfo
cogitoからユーザー情報を取得します。
問題は、トークンを取得するためのredirect_urlがsamlauthのリダイレクトと同じではなかったことです。同じにすると、すべてがうまくいきました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加