m_shige1979のときどきITブログ

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

Github(変なおっさんの顔でるので気をつけてね)

https://github.com/mshige1979

saml認証を試したのでメモ

結構長いかも・・・

saml認証ってなに?

www.okta.com

イメージ

※他の場所のリンク取ったら良くないね反省

今回は

認証には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

ユーザー情報について

参考

Amazon Cognito ユーザープールで、Okta を SAML アイデンティティプロバイダーとして設定する