問題タブ [aws-userpools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1822 参照

android - AWS Cognito ID プールのログインと永続性

第一目的

Android アプリで Cognito ユーザー プールと Cognito Federated Identities を使用してログインを永続化します。アプリはトークンの更新を処理する必要があります (sdk 経由?)。メールがユーザー名として使用されます。アプリケーション全体で 1 つの一意のユーザー名 (電子メール) のみを許可します。例: ユーザーが test@gmail.com の電子メール/ユーザー名で Facebook にログインする場合、ユーザープールを介してtest@gmail.comでユーザーを登録することはできません。

設定

Cognito ユーザープール、Facebook、および Google である認証プロバイダーで作成された ID プールがあります。Facebook と Google のネイティブ SDK を使用してサインインしています。

ユーザーがログインしているかどうかを確認し、それに応じてリダイレクトする SplashScreenActivity があります (LoginActivity または MainActivity)

currentUser.getSession(authenticationHandler)ユーザープール経由でログインしている場合、ユーザープールを使用しても問題なく動作します。

初めて

  • ログインしていない
  • AuthenticationHandler:getAuthenticationDetails:userId が null です
  • ログイン アクティビティを表示

ログイン

  • ユーザープール経由でログイン
  • 成功 -> MainActivity

アプリを再起動

  • AuthenticationHandler:onSuccess
  • MainActivity を表示

Facebook 経由でログインし、CognitoCachingCredentialsProvider更新しないでログインを設定するとcurrentUsergetSession()通話が機能しません。ただし、私ができることは、 を呼び出すことだけですgetCachedIdentityId()。私の有効期限はありませんCognitoCachingCredentialsProviderか?

さらに、ユーザープールから作成されたユーザーでログインしてログアウトcurrentUser.getUserId()すると、以前にログインしたユーザープールユーザーで戻りますが、getCachedIdentityId()null です

質問

  • ユーザープール、Facebook、Google を使用してネイティブ ログインを処理しているため、アクセス トークンとリフレッシュ トークンを手動で管理する必要がありますか? またはCognitoCachingCredentialsProvider、私のためにそれを処理できますか?
  • ユーザーを (ユーザープール、Facebook、または Google 経由で) ログインして、ログインしたままにすることはできますか? また、どのように確認すればよいですか?
  • ユーザーが facebook/google 経由でログインするときに、ユーザー プールにユーザーをネイティブに作成できますか?

最終暴言

Firebase Auth を使用したことがある場合は、このようにアプリケーションを機能させたいと考えています。Firebase Users、Facebook ログイン、Google ログインを使用して Firebase Auth を設定するのは非常に簡単です。

  • ID プロバイダーでログイン
  • トークンを Firebase に渡す
  • Firebase ユーザーを取得する
  • 終わり。

ログアウトしますか?firebaseUser.logout()。そのような単純な。

コード

スプラッシュスクリーン アクティビティ

ログイン アクティビティ

各ログイン シナリオをネイティブに処理します (ユーザー プール、Facebook、Google)

0 投票する
2 に答える
1717 参照

amazon-web-services - AWS CloudFormation スクリプトが失敗する - Cognito は E メール ID の使用を許可されていません

Cognito ユーザー プールをセットアップし、サインアップ プロセスでユーザーに検証コードを送信するためのカスタム メールを使用するように構成する CloudFormation スクリプトを作成しようとしています (つまり、FROM: noreply@mydomain.com)。

AWS CloudFormation スクリプトを実行すると、次のエラーが発生します。

Noreply@mydomain.com などの SES メール ID を Cognito で使用するためのポリシーを添付しました。CloudFormation スクリプトを実行する前に、SES でこの電子メール ID を手動でセットアップして検証しました。

Cognito が私に代わって電子メールを送信できるようにするポリシーの CloudFormation 構成は次のとおりです。

ここで何が間違っているのかわかりません...