私はAWS Cognitoを未承認ユーザに対して以下のように正常に実装しました。権限のないユーザーの場合、IdentityIdが正常に返されたら、Cognito Syncを使用してデータセットを作成して操作することができます。認定ユーザーとCognito Syncを使用することができませんでした。誰かが、認証されたユーザーのIdentityIdを取得する方法を教えてください。そうすれば、私は、IdentityIdを必要とするレコードをリストすることができます。 IdentityIdは常に未定義として返されます。事前AWS Cognito認証済みユーザとの同期
0
A
答えて
0
で
AWS.config.credentials = new CognitoIdentityCredentials({
IdentityPoolId: REACT_APP_AWS_CONFIG_IDENTITY_POOL_ID,
});
const userPool = new CognitoUserPool({
UserPoolId: REACT_APP_AWS_CONFIG_USER_POOL_ID,
ClientId: REACT_APP_AWS_CONFIG_CLIENT_ID,
});
let cognitosync = new AWS.CognitoSync();
AWS.config.credentials.get(()=>{
IdentityId = AWS.config.credentials.identityId;
listRecords();
});
function listRecords(){
cognitosync.listRecords({
DatasetName : DATA_SET_NAME,
IdentityId : IdentityId,
IdentityPoolId : REACT_APP_AWS_CONFIG_IDENTITY_POOL_ID
}, function(error, data) {
//...
});
}
おかげで、私はあなただけで認証されたユーザーのためにあなたのAWS.config.credentials
オブジェクトにLogins
マップを追加する必要が疑われます。
Logins
マップには、ユーザーがどのように認証されたかによって異なりますが、IDP(IDP)をキーとし、そのIDPから受け取ったIDトークンを値として1つのエントリが必要です。あなたのユーザーがGoogleで認証場合
たとえば、あなたが持っているかもしれません:
googleUser
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'us-east-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx',
Logins: {
'accounts.google.com': googleUser.tokenId
}
});
では、Googleによって返されるオブジェクトです。
Cognitoユーザープールで認証ユーザーは、あなたが持っている可能性がある場合
:session
はあなたが
CognitoUser.getSession()
に提供コールバックに渡され
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'us-east-1:xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx',
Logins: {
'cognito-idp.us-east-1.amazonaws.com/us-east-1_xxxxxxxxx':
session.getIdToken().getJwtToken()
}
});
。このユースケースの追加コードコンテキストin this Gist
+0
ご意見ありがとうございます。私は既にCognito User Pool Loginを追加してみましたが、AWSコンソールで設定が間違っているかどうか疑問に思って、そのアプローチを検証する際にあなたの提案を聞いていただきありがとうございます。私はすべてについてちょうど試みたように感じる! – hadders
0
私の問題は何かを発見しました。
result.getAccessToken().getJwtToken()
それがされている必要があります:私が使用していたLogin
キー/値のためのJWTを取得するには今
関連する問題
- 1. AWS Cognito:開発者認証済みのID
- 2. AWS Cognito認証
- 3. AWS Cognito認証
- 4. AWS CognitoとAPIゲートウェイ認証
- 5. AWS Cognitoユーザー認証
- 6. 認証AWS Cognito SRP
- 7. Amazon CognitoデベロッパーによるJava SDKの認証済みID
- 8. Rails:特定の認証済みユーザ
- 9. AWS Cognitoフェデレーションアイデンティティプールカスタム認証プロバイダ
- 10. AWS Cognito for Basic認証
- 11. AWS CognitoをDjango認証バックエンドとして
- 12. ユーザがaws cognito、JAVA
- 13. 認証済みのCognitoユーザー(ユーザープール)によるDynamoDBへの迅速なアクセス方法
- 14. AWS Cognito認証済みの資格情報IOS Swift 2.3-3(ユーザープールとアイデンティティプールの統合)
- 15. Androidファイアベースデータの認証済みユーザによる書き込み
- 16. AWS APIゲートウェイ認証(Cognito Vsカスタム・オートローダ)
- 17. サインイン/ AWS Cognitoでユーザーを認証
- 18. AWS Cognitoポスト認証Lambda Trigger - groupConfiguration
- 19. Amazon Cognito - ゲストユーザーIDを認証済みユーザーとして変換する
- 20. Drupal;認証済みユーザーのTOTP認証
- 21. AWS Cognito認証でカスタム認証ロジックを使用する
- 22. angi-router認証済みユーザのログインをスキップ
- 23. Android、Cognito:サインインできますが、認証済みのAWSコールは作成できません
- 24. AWS - 確認ユーザーCognito
- 25. 複数のデバイスとiOSのAWS Cognito認証
- 26. Webアプリケーションからfirebase認証済みユーザを削除する
- 27. AWS CognitoがWebサイトのDjango認証バックエンドとして
- 28. PHPでのCognitoユーザープール認証
- 29. AWS Cognito JWTトークンの検証
- 30. WCF Windows認証済みエンドポイント
result.getIdToken().getJwtToken()
すべてを働いているあなたは、セッションを得ています認証されたユーザーのために?このページのユースケース4を見てきましたか:https://github.com/aws/amazon-cognito-identity-js – behrooziAWS
ええ、私は 'cognitoUser.authenticateUser(...)'から返されたJWTを使用しています。 'new CognitoIdentityCredentials(...) 'と一緒に使用するためのJogTをCognitoユーザプールに追加しました。 – hadders