AWS Amplify'currentUserCredentials() 'が予期しない認証値を返す、バグ?

MrKnotts

Auth.signIn()の後にAuth.currentUserCredentials()を呼び出すと、有効な有効な資格情報を取得しますが、認証されていないユーザーの場合、なぜですか?

コード:

   async signIn({ dispatch, state }, { email, password }) {

  try {
    const user = await Auth.signIn(email, password);
    console.log("User state after login")
    const userCredentialsAfterLogin = await Auth.currentUserCredentials();
    console.log(userCredentialsAfterLogin)

  } catch (error) {
    console.log("error")
    console.log(error)
    return
  }
  await dispatch('fetchUser')
},

期待される動作:

有効なユーザーでサインインした後、Auth.currentUserCredentials()は認証された資格情報のセットを返す必要があります。

実際の動作:

Auth.currentUserCredentials()は、認証されたプロパティがfalseに設定され、400エラーの認証されていないユーザーを返します。 " ResourceNotFoundException:IdentityPool'eu-west-1:62dab5ed-5a84-4064-a7a2-87d1d0df511b '

システム:

  • authenticationFlowType: "USER_SRP_AUTH"
  • バージョン: "aws-amplify": "^ 3.3.14"、 "aws-amplify-vue": "^ 2.1.4"、増幅バージョン4.42.0

設定

{
  "authSelections": "userPoolOnly",
  "resourceName": "testapp89e81d50",
  "serviceType": "imported",
  "region": "eu-west-1"
}
ブラム

私はあなたがどこから来ているのか理解しています、そして正直なところ、これがうまくいかない理由を正確に述べている明確な文書をあなたに示すことはできません。CognitoとAmplifyに関するAWSのドキュメントは、Amplifyフレームワークがまだ内部で古いライブラリ(「amazon-cognito-identity-js」)を使用しており、Cognitoが両方のconnect-login-with-の名前であるため、まとめるのが困難です。 IAMおよびサインアップ/サービスとしてのサインインの提供。Cognitoは非常に強力で、正しく実行すればセキュリティの面で堅実ですが、セットアップは少し面倒です。

AmplifyAuthのAPIドキュメントなどのドキュメントが少しありますcurrentCredentials / currentUserCredentialsが、とりわけ「identitiId」を含むオブジェクト提供していることがわかりますAmplify Authフレームワークの認証情報は、CognitoIdentityを参照するAWSIAM認証情報を参照します。

Amplifyを使用して、電子メール/パスワードを使用してCognitoユーザープールにログインしているようです。CognitoユーザープールをCognitoIdentifyプールに接続して、AWSリソース(IAM認証情報)の使用に使用できるいくつかの認証情報とCognitoJWTトークンを「交換」できます。ただし、通常のサインイン/サインアップフローを機能させるためにこれは必要ありません。

だから、問題は:あなたは何が欲しいですか?

  1. 現在ログインしているCognitoユーザープールユーザー(メール、JWTトークン、JWTトークンに保存されているその他のフィールドなど)について知りたいですか?「currentUserInfo」または「currentUserSession」を使用します

  2. AWSリソースを呼び出すためのIAM認証情報が実際に必要ですか?必ずCognitoユーザープールを作成してCognitoIDプールに接続し、フロントエンド設定でIDプールIDを構成してください。これを実行すると、「currentCredentials」を使用できるようになります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

aws-amplify-reactと@ aws-amplify / ui-reactの違いは何ですか?

分類Dev

aws-amplifyでMFA認証を無効にする方法は?

分類Dev

AWS Amplify AppSync IAM 401

分類Dev

AWS Amplify&Serverless-Stack

分類Dev

AWS Amplify AuthenticatorUIがサインインエラーを確認

分類Dev

aws-amplify / aws-cognitoの属性を確認/更新しながら確認コードを再送信するにはどうすればよいですか?

分類Dev

AWS Amplify Androidで、Amplify.API.post()がGETリクエストを行うのはなぜですか?

分類Dev

aws-amplifyを使用してnode / expressでaccessTokenを確認する方法は?

分類Dev

AWS Amplify AppSyncサブスクリプション:データがnullを返す

分類Dev

AWS Amplify-Cognitoログインは、応答でACCESSKEYとSECRETKEYを送信しますが、これは予期されていますか?

分類Dev

AWS Amplify Auth / react-navigation:認証状態にアクセスする方法は?

分類Dev

AWS Amplify Auth:AmplifyConfirmSignUpを無効にする方法は?

分類Dev

Kotlinを使用してAWS Amplifyで認証エラーのタイプを識別する方法は?

分類Dev

AWS Amplify`configure`にはオプションがありません

分類Dev

AWS Amplifyとamazon-cognito-identity-jsの違いは?

分類Dev

Is it possible to make user profile changes with AWS Amplify?

分類Dev

ElectronAngular2とaws-amplify

分類Dev

AWS Amplify MissingRequiredParameteruserIdエラー

分類Dev

AWS-Amplify-cli fails to install on Mac

分類Dev

AWS Amplify CacheUtilityの使用法

分類Dev

AWS Amplify:メールベースの認証のためにソーシャルプロバイダーの属性をマッピングする方法は?

分類Dev

Aws-amplifyがreact-nativeおよびexpoバージョン36.0.0で機能しない

分類Dev

AWS Amplifyは、Lambdaの障害時に一般的なネットワークエラーを返します

分類Dev

AWS Amplifyを使用してprocess.env変数を作成しますか?

分類Dev

aws-amplifyを使用してAPIエラーを処理する方法は?

分類Dev

AWS Amplify-CognitoIdentityCredentialsは実行を許可されていません:sts:AssumeRole on resource

分類Dev

AWS Amplifyは、ElasticBeanstalkで作成されたec2のRESTAPIと通信します

分類Dev

AWS Amplify REST API(Javascript)でパスパラメーターを使用する

分類Dev

AWS Amplify with React Native:認証情報は、us-east-1ではなく有効なリージョンにスコープする必要があります

Related 関連記事

  1. 1

    aws-amplify-reactと@ aws-amplify / ui-reactの違いは何ですか?

  2. 2

    aws-amplifyでMFA認証を無効にする方法は?

  3. 3

    AWS Amplify AppSync IAM 401

  4. 4

    AWS Amplify&Serverless-Stack

  5. 5

    AWS Amplify AuthenticatorUIがサインインエラーを確認

  6. 6

    aws-amplify / aws-cognitoの属性を確認/更新しながら確認コードを再送信するにはどうすればよいですか?

  7. 7

    AWS Amplify Androidで、Amplify.API.post()がGETリクエストを行うのはなぜですか?

  8. 8

    aws-amplifyを使用してnode / expressでaccessTokenを確認する方法は?

  9. 9

    AWS Amplify AppSyncサブスクリプション:データがnullを返す

  10. 10

    AWS Amplify-Cognitoログインは、応答でACCESSKEYとSECRETKEYを送信しますが、これは予期されていますか?

  11. 11

    AWS Amplify Auth / react-navigation:認証状態にアクセスする方法は?

  12. 12

    AWS Amplify Auth:AmplifyConfirmSignUpを無効にする方法は?

  13. 13

    Kotlinを使用してAWS Amplifyで認証エラーのタイプを識別する方法は?

  14. 14

    AWS Amplify`configure`にはオプションがありません

  15. 15

    AWS Amplifyとamazon-cognito-identity-jsの違いは?

  16. 16

    Is it possible to make user profile changes with AWS Amplify?

  17. 17

    ElectronAngular2とaws-amplify

  18. 18

    AWS Amplify MissingRequiredParameteruserIdエラー

  19. 19

    AWS-Amplify-cli fails to install on Mac

  20. 20

    AWS Amplify CacheUtilityの使用法

  21. 21

    AWS Amplify:メールベースの認証のためにソーシャルプロバイダーの属性をマッピングする方法は?

  22. 22

    Aws-amplifyがreact-nativeおよびexpoバージョン36.0.0で機能しない

  23. 23

    AWS Amplifyは、Lambdaの障害時に一般的なネットワークエラーを返します

  24. 24

    AWS Amplifyを使用してprocess.env変数を作成しますか?

  25. 25

    aws-amplifyを使用してAPIエラーを処理する方法は?

  26. 26

    AWS Amplify-CognitoIdentityCredentialsは実行を許可されていません:sts:AssumeRole on resource

  27. 27

    AWS Amplifyは、ElasticBeanstalkで作成されたec2のRESTAPIと通信します

  28. 28

    AWS Amplify REST API(Javascript)でパスパラメーターを使用する

  29. 29

    AWS Amplify with React Native:認証情報は、us-east-1ではなく有効なリージョンにスコープする必要があります

ホットタグ

アーカイブ