サイト内検索

Okta

オクタ

Auth0 Action機能を利用したSAML応答カスタマイズ実現

はじめに

Auth0では、認証認可におけるカスタムロジックを実現するActions機能が提供されています。2023年8月に、以下3点の機能アップデートが行われました。

  • ログインユーザに関するSAML応答カスタマイズ
  • アクセストークンにおけるスコープカスタマイズ
  • 利用可能なユーザ情報の拡張

本ページでは、ログインユーザに関するSAML応答カスタマイズ実現についてご紹介します。
アクセストークンにおけるスコープカスタマイズについては、Auth0 Actions機能を利用したアクセストークンカスタマイズ実現をご確認ください。

前提

本ページ記載の機能及び設定に関する内容は、2023年8月現在の情報となります。Actions機能の概要及び基本的な設定方法は、Auth0 Actions機能を利用したトークンカスタマイズ実現をご確認ください。

機能アップデート概要

今回アップデートされた機能は以下の通りです。

  • ログインユーザに関するSAML応答カスタマイズ
    Login FlowのAPI Objectとして、ログインユーザに関するSAML応答のカスタマイズ機能が追加されました。SAML応答への任意の属性追加、NameID形式の指定やSAMLトークンの有効期限等のカスタマイズができます。追加されたAPI Object(api.samlResponse)は、Actions Triggers: post-login - API Object - Auth0 docsをご確認ください。
    なお、Actions機能によるSAML応答カスタマイズには、制限事項があります。詳細は、Actions Limitations - Auth0 docsをご確認ください。

設定及び動作例

Actions機能を利用したログインユーザにおけるSAML応答カスタマイズ実現について、設定及び動作例をご紹介します。

設定例:SAML属性のカスタマイズ

Auth0によるSAML認証実現(Splunk Cloud)で、Rules機能を利用したSAMLレスポンスのカスタマイズをご紹介しました。今回は、同様の処理をActions機能で実現します。

  • Auth0管理画面にて、[Actions] > [Library]をクリック
    作成するAction名、Actionのトリガ、実行環境を選択し、[Create]をクリック
  • [Create Action] > [Build from scratch]をクリック
    作成するAction名、Actionのトリガ、実行環境を選択し、[Create]をクリック
  • 作成するAction名、Actionのトリガ、実行環境を選択し、[Create]をクリック
    作成するAction名、Actionのトリガ、実行環境を選択し、[Create]をクリック
4. コードエディタにて、実現するロジックを記載(JavaScript記述)

※必要最低限の処理のみ記載

exports.onExecutePostLogin = async (event, api) => {
	if (event.authorization) {
		api.samlResponse.setAttribute('http://schemas.auth0.com/rolez', event.authorization.roles)
	}
};
5. [Deploy]をクリックし、正常に保存されたことを確認
[Deploy]をクリックし、正常に保存されたことを確認
6. Auth0管理画面にて、[Actions] > [Triggers]をクリック
7. 作成したActionを組み込むTriggerとして、[post-login]を選択
8. 画面右側のCustomタブに表示されるActionの一覧から、対象Actionをドラッグ&ドロップし、画面左側のフロー図に配置
画面右側のCustomタブに表示されるActionの一覧から、対象Actionをドラッグ&ドロップし、画面左側のフロー図に配置
9. [Apply]をクリックし、正常に反映されたことを確認
[Apply]をクリックし、正常に反映されたことを確認

動作例:SAML属性のカスタマイズ

1. Webブラウザ上の機能を利用し、HARファイルの取得を開始
2. Splunk CloudにてSAMLログイン操作を実施、正常にログインできることを確認
3. Webブラウザ上で取得したHARファイルより、Auth0からのSAMLレスポンスを取得及びデコード処理
4. SAMLレスポンスにて、Action内で指定した属性及び値が追加されていることを確認
(略)
	<saml:Attribute Name="http://schemas.auth0.com/rolez" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
		<saml:AttributeValue xsi:type="xs:string">
			admin
		</saml:AttributeValue>
	</saml:Attribute>
(略)

おわりに

今回は、Actions機能のアップデートにおいて、SAML応答カスタマイズ実現方法をご紹介しました。Rules/Hooks機能に関するEOL(End of Life)アナウンスが出ておりますので、Actions機能で実現可能となる処理は、今後も追加されていくと予想されます。

実施されるアップデートに応じて、今後も随時情報更新していきたいと思います。

参考

お問い合わせ・資料請求

株式会社マクニカ  Okta 担当

平日 9:00~17:00