Amazon Cognito の認証と承認を、ウェブアプリケーションとモバイルアプリケーションに統合する - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Cognito の認証と承認を、ウェブアプリケーションとモバイルアプリケーションに統合する

アプリケーションを Amazon Cognito アプリケーションクライアントと統合すると、API オペレーションを呼び出してユーザーの認証と承認を行うことができます。AWS Amplify を使用して Amazon Cognito をウェブアプリケーションやモバイルアプリケーションと統合することをお勧めします。AWS Amplify は、フロントエンドのウェブデベロッパーとモバイルデベロッパーが AWS でフルスタックアプリケーションを簡単に構築、接続、ホストできるようにする完全なソリューションであり、ユースケースの進化に応じて幅広い AWS のサービスを活用できる柔軟性を備えています。Amplify Auth は、主に Amazon Cognito を使用して認証機能を構築します。

Amazon Cognito の一般的な実装では、ビジュアルツールと API を組み合わせて使用します。Amazon Cognito コンソールは、Amazon Cognito ユーザープールとアイデンティティプールを設定および管理するためのビジュアルインターフェイスです。ホストされた UI は、Amazon Cognito ユーザープールを迅速にテストおよびデプロイするために、すぐに使用できるウェブベースのサインインアプリケーションです。さらに、ほとんどの Amazon Cognito デプロイでは、ユーザープールやアイデンティティプールを操作するコードをアプリケーションに追加する必要があります。例えば、アプリケーションは、ホストされた UI を呼び出してユーザーのサインインを行い、次にアプリケーションコードからトークンエンドポイントを呼び出して、ユーザーの認証コードをトークンと交換する場合があります。この場合、アプリケーションはユーザーのトークンを解釈して保存し、認証と認可のための適切なコンテキストでトークンを提示する必要があります。Amplify は、これらのプロセス用の組み込み機能を備えたガイド付き統合ツールを追加します。

Amazon Cognito リソースをすべてコードで構築することもできます。独自のカスタムアプリケーションコードの使用を開始するには、AWS SDKを使用した Amazon Cognito のコード例を参照してください。OpenID Connect ID プロバイダーとして Amazon Cognito と統合するには、OpenID Connect デベロッパーツールを使用します。

Amazon Cognito の認証と認可を使用する前に、アプリプラットフォームを選択し、サービスと統合するためのコードを準備します。使用可能なプラットフォームについては、「AWS SDK による認証」を参照してください。AWS CLI は Amazon Cognito や他の AWS のサービス向けのコマンドライン SDK であり、Amazon Cognito API を詳しく知るために役立ちます。

注記

Amazon Cognito の一部のコンポーネントは、API でのみ設定できます。例えば、ユーザープールのカスタム SMS または E メール送信者の Lambda トリガーは、CreateUserPool または UpdateUserPool API リクエストの UserPool クラスの LambdaConfig プロパティを更新するリクエストでのみ設定できます。

Amazon Cognito ユーザープール API は、その名前空間を複数の API オペレーションクラスと共有します。1 つのクラスでは、ユーザープールとそのプロセス、ID プロバイダー、ユーザーを設定します。別のクラスでは、パブリッククライアントでユーザーがサインイン、サインアウト、プロファイルの管理を行うための認証されていないオペレーションを提供します。API オペレーションの最後のクラスでは、機密のサーバー側クライアントで、独自の AWS 認証情報で認証したユーザーオペレーションを実行します。アプリケーションコードの実装を始める前に、目的のアプリケーションアーキテクチャを知っておく必要があります。詳細については、「Amazon Cognito ユーザープール API とユーザープールのエンドポイントの使用」を参照してください。

AWS Amplify による認証

AWS Amplify は、ウェブアプリケーションおよびモバイルアプリケーションを構築するための完全なソリューションです。Amplify を使用すると、Amplify ライブラリを使用して既存のリソースに接続したり、Amplify コマンドラインインターフェイス (CLI) を使用して新しいリソースを作成および設定したりできます。Amplify には、Authenticator などの UI コンポーネントも接続されており、アプリケーションでのサインインやサインアップエクスペリエンスの設定とカスタマイズに使用できます。

フロントエンドアプリケーションで Amplify の認証機能を使用するには、プラットフォーム別の以下のドキュメントを参照してください。

Amplify ライブラリはオープンソースで、GitHub で利用できます。Amplify Auth が Amazon Cognito 認証をどのように実装するかの詳細については、以下のライブラリを参照してください。

Amplify によるユーザーインターフェイス (UI) の作成

Amazon Cognito ユーザープールでホストされた UI は、ウェブアプリケーションやモバイルアプリケーションの認証フロントエンドの基本的なニーズを満たすことができます。ホストされた UI が対応しているパラメータの範囲を超えてユーザーインターフェイス (UI) をカスタマイズするには、カスタムアプリケーションを作成します。Amplify UI は、さまざまな言語でのカスタマイズ可能なフロントエンドコンポーネントのコレクションです。


          Amplify Authenticator アプリケーションの例を示すスクリーンショット。

カスタム認証コンポーネントの使用を開始するには、Authenticator コンポーネントに関する以下のドキュメントを参照してください。

AWS SDK による認証

安全なバックエンドを使用して Amazon Cognito とやり取りする独自の ID マイクロサービスを構築するには、選択した言語の AWS SDK を使用して Amazon Cognito ユーザープールと Amazon Cognito アイデンティティプール API に接続します。

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