ばねの配置
初級から中級から上級まで、Springデプロイメントの基本的な概念から、APIの使用法と内部アーキテクチャ構造を深くカバーしています。そして、スプリング配置各機能の流れと原理を学習することになり、これをもとに様々な配置アプリケーション開発のための実務的感覚を身につけることになります。

Spring Security OAuth2講義がまもなくオープンします〜
こんにちは。 ^^
Spring Security OAuth2講義はまもなくオープン予定です。
スプリングセキュリティ1編講義に続く2編講義といえます。
共通分母が存在するものの、主題は明らかに異なり、1編講義の事前知識を必要とします。
講義を制作しながら毎回感じるのですが今回の講義も初めて設計したよりも多くの時間とエネルギーがかかったようです。ほぼ1年ぶりに世界に発売されますね~~
厳しい時間を乗り越えただけに、今回の講義が受講生の皆さんに良い結実に近づいてほしいと思います。
オープン予定日は10月14~16日頃程度予想しています。
- 講義名:Spring Security OAuth2
- 講義数:110講内外
- 講義資料PPT:420枚
今回の講義で取り上げる内容は次のとおりです。
1. Spring Security OAuth2 コアの理解
OAuth2.0標準技術とそれに基づいて、Spring Security OAuth2の重要な概念であるOAuth2 Client、Resource Server、Authorization Serverの3つの軸を中心に講義が行われます。
1) OAuth 2.0 Authorization Framework
RFC標準技術であるOAuth 2.0認可フレームワークの全体的な概念と原理、構造などの内容を調べます。
Spring Security OAuth2の本格的な技術を学ぶ前に、OAuth 2.0の標準技術の基礎と基本的な理論をまず理解し、実践を通して正確な概念を熟知することで、Spring Security OAuth2の内容を困難なく追従できるようにします。
2) OAuth2 Client
OAuth 2.0のクライアントモジュールとして、クライアントで認可サーバーと連動できるさまざまなタイプの認可タイプとリクエストAPIを紹介し、認可サーバーから発行されたトークンを使用してリソースサーバーへのアクセス制御をどのように実装するかについて学習します。
また、Google、Facebook、FagHet、Naver、Cacaoなど、OAuth 2.0 Authorization Serverサービスプロバイダとの連携を通じてソーシャルログイン機能を実装する方法を紹介します。
認証プロトコルであるOpenID Connectを紹介し、認証処理のためのさまざまなオプション設定方法とフローを理解します。
3) OAuth2 Resource Server
ユーザーのリソースを保護しているサーバーとして API サーバーとしての役割を果たします。
リソースサーバーがリソースを保護する方法を調べて、Access Tokenを含む要求に対してトークンを検証する方法と権限システムを制御する流れについて学びます。
OAuth2サービスプロバイダによって発行されたAccess TokenがJWT形式で生成されたトークンである場合は、Scope(範囲)を抽出する内容を調べて、リソースサーバーでAccess Tokenに含まれているScopeを分析して権限の有無を判断する方法を学びます。 。
4) OAuth2 Authorization Server
市場には、オープンソースを含む様々なAuthorization Serverの商用製品やサービスがあります。
このため、Spring Security Development チームは Authorization Server フレームワーク プロジェクトを中断することもありましたが、多数の開発者の櫛打ち要求により、Authorization Server プロジェクトがまったく新しい設計に再び誕生しました。
本講座では、新しいアーキテクチャで再誕生した Authorization Server プロジェクトを基準に講義を制作し、OAuth2 Client と Resource Server との連動を通じた認可サーバとしての機能の詳細を見て、自ら認可サーバを構築してサービスできる。知識を整えることに重点を置きました。
Authorization Server機能を処理する主なクラスを学び、カストマイズする方法を学びます。
また、OAuth 2.0標準エンドポイントの仕様を調べて、各エンドポイントごとに設定されたフィルタの構造と処理プロセスを学習します。
2. 学習カリキュラム
Spring Security Fundamentals
Spring Securityの重要な基礎を見てください。
初期化プロセスの詳細と原理を学び、HttpBasic、Corsなどの要素を扱います。
OAuth 2.0 Authorization Framework
OAuth 2.0 標準技術の詳細仕様について学習します。
OAuth 2.0 で表現されるさまざまな用語をまず理解し、権限付与フローのタイプに関する概念整理と keycloak オープンソースを活用して認可フレームワークの全体的な流れを理解します。
OAuth 2.0 Client - oauth2Login()
クライアントアプリの機能を自動化し、権限付与フローのタイプであるAuthorization Code方式で認可サーバーとの連動方法を学習し、ユーザー承認と承認からAccess Tokenを受け取り、認証/認可処理に至るまでの全過程を見て、内部構造について学びます。
OAuth 2.0 Client - oauth2Client()
oauth2Login() API によって提供される権限付与フローのタイプである Authorization Code の他に、Resource Owner Password と Client Credentials タイプで認可サーバーと連動する方法を見て DefaultOAuth2AuthorizedClientManager, @RegisteredOAuth2AuthorizedClient の使い方します。
OAuth 2.0 Client - OAuth 2.0 Social Login
OAuth2サービスプロバイダーとして、Google、Facebook、FatHet、Naver、Cacaoなどがあります。
OAuth 2.0 Resource Server API - jwt()
リソースサーバーの構成方法とAccess Token要求を処理するJwtDecoderの機能を調べて、トークン検証の成功後に生成される認証関連オブジェクトの構造と使用方法を学習します。
また、Access Tokenの検証に使用されるMAC&RSAアルゴリズムの仕組みとは何ですか?どの処理手順によって検証が行われるのかを調べます。
OAuth 2.0 Resource Server - リソースサーバー権限の実装
Access Token 要求を処理するフィルタと、JwtDecoder によって抽出された Scope を権限に変換し、変換された権限でリソースのアクセス可否を制御する方法について学習します。
OAuth 2.0 Resource Server - opaque()
リモートトークンチェックプロセスとして、Access Tokenが有効かどうかを認可サーバーと直接通信して調べる方法を学習します。
Spring Authorization Server - 主要ドメインクラス
認可サーバーを構成する主要ドメインクラスの種類と概念、役割などを学習し、これらのクラスがSpring MVCでどのように参照および利用できるかを学習します。
Spring Authorization Server - エンドポイントプロトコル
認可サーバーの重要な機能であるさまざまなタイプのエンドポイントプロトコルについて学びます。
承認要求を開始したエンドポイントからユーザー情報を要求するエンドポイントまでの全体のプロセスを図式とフローで詳しく見ていきます。
OAuth 2.0 Client + Resource Server + Authorization Serverの連携
Spring Securityが提供する各OAuth2のモジュールを連携および連携する方法を学び、それを使用してOAuth2サービスプロバイダとして機能する具体的な項目を例に示します。
3. アーキテクチャ/フロー/原理の理解
Spring Frameworkのプロジェクトの中で、Spring Securityは、技術アーキテクチャ、動作原理、フロー理解などの内部ソースレベルの実装に関する全体的な理解が非常に重要です。
与えられたAPIを中心に使用しても予期しないエラーや問題に遭遇すると、Googleで検索して解決策を見つけることができますが、Spring Security OAuth2に関する資料が多くなく、ほとんど同様のケースが繰り返し出てくるレベルなので、Spring Security OAuth2の内部構造と動作原理を正確に理解できない場合や分析できない場合は、サービス運営に多くの困難を経験します。
そのため、本講座では様々な図式やFlowとデバッグによる正確で詳細な説明を通じて、単純なAPIの使い方や機能例を超えて、Spring Security OAuth2の構造と流れを完全に分析し理解することで、どんな状況でも柔軟な対処が可能な知識を備えています。そうすることに重点を置いており、本講師が開設した講義のパターンや共通の特徴といえます。




