Webアプリ、モバイルアプリ、またはAPIを構築している場合、堅牢な認証と認可の実装方法を理解することは重要なスキルです。AWS Cognitoはユーザー管理、認証、およびアクセス制御を簡素化する強力な機能であり、開発者や企業の両方にとって不可欠なテクノロジーです。AWS Cognitoをマスターすることで、他のAWSサービスとシームレスに統合しながら安全でスケーラブルなアプリケーションを構築できます。この分野のスキルを向上させたい場合は、最適なリソースがあります。

私たちは、freeCodeCamp.org YouTubeチャンネルにAWS Cognitoについてのコースを投稿しました。この包括的なコースでは、ユーザープールやアイデンティティプールの理解からOAuth 2.0ワークフローとJWT認証の実装まで、AWS Cognitoについて知っておくべきすべてがカバーされています。

CognitoをReactやNode.jsなどの人気フレームワークと統合する方法、ロールベースのアクセス制御の実装、Cognitoオーソライザを使用したAPIのセキュリティ確保も学ぶことができます。このコースには、AWS Cognito、S3、およびReactを使用して安全なファイル共有アプリケーションを構築するなど、実践的な演習が盛り込まれており、学んだことを実世界のシナリオで適用できます。このコースは、Rishi Tiwariによって開発されました。

このコースで学ぶ内容の概要は以下の通りです:

  • AWS Cognitoの基礎:ユーザープール、アイデンティティプール、およびIAMの違い、および認証と認可を管理するためにそれらがどのように連携するかを理解します。

  • OAuth 2.0とJWT認証: OAuth 2.0のワークフロー、グラントタイプ、PKCEや状態パラメータを使用した安全な実装について深く掘り下げます。アクセスおよびアイデンティティ管理のためにJWTトークンを扱う方法を学びます。

  • フレームワーク統合: シングルページアプリケーション(SPA)用のReactJSとバックエンドサービス用のNode.jsとAWS Cognitoを統合するマスターになります。また、Cognitoを従来のバックエンドやGoogleなどのサードパーティのアイデンティティプロバイダーとどのように使用するかを探ります。

  • APIセキュリティ: CognitoオーソライザーとAWS API Gatewayを使用してAPIを保護する方法を学び、アプリケーションが不正アクセスから保護されるようにします。

  • ハンズオンプロジェクト: AWS Cognito、S3、およびReactを使用して、安全なファイル共有アプリケーション「ShareMyFiles」を構築します。このプロジェクトでは、コースでカバーされている概念を実践的に学ぶことができます。

コースは、次のようなわかりやすく追いやすい章に分かれています:

  • コース紹介

  • AWS Cognitoユーザープール対アイデンティティプール対IAM

  • Amazon CognitoにおけるOAuth 2.0ワークフローとグラントタイプ

  • JWT認証 – アクセストークンとIDトークン

  • ReactJS SPAとNode.jsバックエンドでのCognito

  • Cognitoユーザープールを使用したAWS API Gatewayのセキュリティ強化

  • ShareMyFiles – 安全なファイル共有アプリ

フルコースは、freeCodeCamp.org YouTubeチャンネル(4時間の視聴)でご覧いただけます。