EC2で実行されているSpringBootアプリの認証および承認プロバイダーとしてAWSCognitoユーザープールを使用することは可能ですか?
ユーザープールは、AngularJSフロントエンドで利用できる多くのregsiter / login / email / forgotpasswordなどの配管を提供しているようです。
フロントエンドが(javascriptで)すべての認証を行う場合、java(スプリング)バックエンドはフロントエンドから渡されたトークンを検証できますか?もしそうなら、どのように?
または、Cognitoへの呼び出しはバックエンドから行うことができますか、または行う必要がありますか?AWS AndroidモバイルSDKを使用する必要がありますか?
(LambdasとApi Gatewayを見てきましたが、現時点ではそれらは私が求めているものではありません)。
アプリの要件に応じて、これらのオプションのいずれかが機能するはずです。前者には、後者よりもネットワーク経由でユーザー資格情報を送信する頻度が少ないという利点があります。
最初の提案でトークンを検証したい場合は、いくつかのことの1つを行うことができます。Cognitoは、ユーザーの認証時にIDトークン、更新トークン、およびアクセストークンを販売します。アクセストークン(つまりGetUser)を受け取る呼び出しはすべて、そのアクセストークンの検証を行います。または、トークンを更新するための呼び出しを行うこともできます。これにより、更新トークンの検証が行われます。Cognitoが販売するトークンの詳細については、こちらをご覧ください。トークンの更新は、チャレンジ名REFRESH_TOKENまたはREFRESH_TOKEN_AUTHを使用して、Cognito認証フローを介して行われます。
2番目のものを選択した場合、AWSにはJavaを含むさまざまな言語用の複数のSDKがあります。これらはすべてCognitoAPIをサポートしていますが、CognitoはSRPを使用してユーザーをサインインします。クライアント側の計算はかなり複雑なので、自分でそれを実行したくない場合があります。GithubのSDKから計算をリッピングするか、ここで説明されているadmin noSRPフローを使用することができます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加