saml認証を試したのでメモ
結構長いかも・・・
saml認証ってなに?
イメージ
※他の場所のリンク取ったら良くないね反省
今回は
認証にはAWSのcognitoをサービスプロバイダとして利用、
IDPにはoktaのdeveloperアカウントで用意したものを利用して連携する
できたもの
手順
1. ユーザープールを作成
↓
多要素認証はOFF
↓
自己登録は不要(IDP側でユーザーを管理するのでこちらでは不要)
↓
属性検証は不要
↓
cognitoからにする(多分、メール送信しないのでこちらにする)
↓
ユーザープール名を設定
↓
ホストされた認証ページはONにする
↓
ドメインを設定する
↓
アプリケーションクライアントを作成する際、
クライアントのシークレットは不要とする。
※他の部分は基本デフォルト
ユーザープールの設定値を整理
ユーザープールで作成した値
No | 項目名 | 値 | 備考 |
---|---|---|---|
1 | ユーザープール名 | mshige1979-saml-test | |
2 | ユーザープールID | ap-northeast-1_abcdefdhi | 値を変換 |
3 | ドメイン | https://mshige1979-saml-test.auth.ap-northeast-1.amazoncognito.com | |
4 | アプリケーションクライアント名 | mshige1979-saml-client | |
5 | クライアント ID | 1234567890abcdefghijklmnop | 値を変換 |
Oktaで利用する値
No | 項目名 | 値 | 備考 |
---|---|---|---|
1 | シングルサインオン URL | https://mshige1979-saml-test.auth.ap-northeast-1.amazoncognito.com/saml2/idpresponse | |
2 | Audience URI | urn:amazon:cognito:sp:ap-northeast-1_abcdefdhi | 値を変換 |
3 | ATTRIBUTE (項目名)I | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress | |
4 | ATTRIBUTE (設定値)I | user.email |
OktaでSAMLアプリを作成する
「Applications」よりメニューを開き、「Create App Integration」を押下し起動する
↓
「SAML2.0」を選択
↓
アプリ名を入力
↓
SAMLのパラメータを設定する
「シングルサインオン URL」、「Audience URI」
↓
属性パラメータを設定する
↓
チェックして終わる
Oktaアプリの詳細よりメタデータURLを取得
ユーザーを割り当て
↓
対応するユーザーを選択し、アサイン
↓
OktaをSAML IDPとして登録する
フェデレーテッドアイデンティティプロバイダを追加
↓
SAMLを選択
↓
パラメータを設定
↓
↓
アプリケーションクライアントの設定
コールバックURLやサインアウトURLを設定する
↓
プロバイダ、権限タイプ、スコープを設定する
エンドポイントを設定
書式
https://[ドメイン]/login?response_type=token&client_id=[クライアントID]&redirect_uri=[コールバックURL]
↓
多分、こんな感じ
https://mshige1979-saml-test.auth.ap-northeast-1.amazoncognito.com/login?response_type=token&client_id=1234567890abcdefghijklmnop&redirect_uri=http://localhost:8080/callback
↓
↓
OK
ユーザー情報について