Amazon Cognito のウェブアプリケーションとモバイルアプリケーションとの統合 - Amazon Cognito

Amazon Cognito のウェブアプリケーションとモバイルアプリケーションとの統合

新しいユーザーがアプリを見つけたとき、または既存のユーザーがアプリに戻ってきたときの最初のタスクはサインアップまたはサインインです。Amazon Cognito をクライアントコードに統合するときは、認証ワークフローと認可ワークフローを補助するバックエンド AWS リソースにアプリを接続します。例えば、アプリは Amazon Cognito API を使用して、ユーザープールでの新しいユーザーの作成、ユーザープールトークンの取得、および ID プールからの一時的な認証情報の取得などを行います。Amazon Cognito をウェブまたはモバイルアプリケーションに統合するには、AWS SDK とライブラリを使用します。

Amazon Cognito は、AWS Management Console 統合およびホストされた UI のようなビジュアルツールを提供していますが、AWS は、アプリコードで動作するようにサービスを設計しました。Amazon Cognito の特定のコンポーネントは、API または AWS Command Line Interface でのみ設定できます。例えば、タイムベースドワンタイムパスワード (TOTP) 多要素認証 (MFA) のユーザー登録は、AssociateSoftwareToken で始まるプロセスでのみ可能です。Amazon Cognito の認証と認可を使用する前に、アプリプラットフォームを選択し、サービスと統合するためのコードを準備します。

AWS Amplify フレームワークを使用した Amazon Cognito 認証

AWS Amplify では、ウェブおよびモバイル開発者向けのサービスとライブラリを提供します。Amplify を使用することで、AWS のサービス で構成されるバックエンド環境と統合されるアプリを構築できます。バックエンド環境をプロビジョニングし、AWS のサービス をクライアントコードと統合するには、Amplify フレームワークを使用します。フレームワークは、カテゴリに整理された機能の AWS リソースを設定するのに役立つ、対話型のコマンドラインインターフェイス(CLI) を提供します。これらのカテゴリには、分析、ストレージ、認証などが含まれます。フレームワークは、iOS、Android、JavaScript など、ウェブおよびモバイルプラットフォーム用の高レベル SDK とライブラリも提供します。JavaScript フレームワークには、React、React Native、Angular、Ionic、Vue が含まれます。各 SDK とライブラリには、Amazon Cognito が動作させる認証ワークフローを実装するために使用できる認証オペレーションが含まれています。

Amplify フレームワークを使用してアプリに認証を追加するには、プラットフォームに適した Amplify 認可ドキュメントを参照してください。

Amazon-cognito-identity-js による認証

JavaScript 用 Amazon Cognito ID SDK を使用すると、アプリが Amazon Cognito ユーザープールでユーザーをサインアップして認証できるようになります。アプリは、この SDK を使用して Amazon Cognito ユーザープールのユーザー属性を表示、削除、および更新することもできます。-Amazon-cognito-identity-js パッケージには、認証されたユーザーがパスワードを変更できるサンプルコードが用意されています。パッケージには、認証されていないユーザーのパスワードを忘れた場合の回復を開始して完了できるサンプルコードも用意されています。

Amazon Cognito Identity SDK for JavaScript

AWS SDK による認証

Amazon Cognito と対話する独自のアイデンティティマイクロサービスを構築するために安全なバックエンドを使用する必要がある場合は、Amazon Cognito ユーザープールと Amazon Cognito フェデレーティッドアイデンティティ API を使用できます。

各 API オペレーションの詳細については、「Amazon Cognito ユーザープール API リファレンス」と「Amazon Cognito API リファレンス」を参照してください。これらのドキュメントには、「サポートされているプラットフォームでさまざまな SDK を使用するためのリソースを含む以下の資料も参照してくださいセクション」が含まれています。