ダイナミックアプリケーション属性を追加する
ダイナミックアプリケーション属性は、特定のフィールドや値というよりは式をベースにした属性です。ダイナミック属性の例として、エンドユーザーの名前を表す値などが挙げられます。これは「名」の後にスペース、その後に「姓」など、他の要素から構成されている必要があります。Access Gatewayを使用してダイナミック属性の結果を送信できます。
項目
式を設定する
新しいダイナミック属性を追加する前に式を立ててテストすることは有益です。
ダイナミック属性を立ててテストするには:
- Okta orgに管理者としてサインインします。
- を選択します。
- 新しいダイナミック属性を必要とするアプリケーションを選択します。
- 属性セクションで[Add Attribute(属性の追加)]をクリックします。
- 適切な[Display(表示)]および[Variable(変数)]名を入力して、[String(文字列)]ベースの属性を追加します。
- [Save(保存)]をクリックします。
- [Mapping(マッピング)]をクリックします。
- [Okta to(Oktaから)アプリケーション名]をクリックします。
- ダイナミック属性値の値を表す式を入力します。
例:String.toUpperCase(user.firstName + " " + user.lastName)
式の作成に関する説明は「式」セクションをご覧ください。 - 前のセクションで、適切なユーザーを選択して[Enter]をクリックします。
- 結果を調べます。必要に応じて式のエラーを修正し、再試行します。
- 完了したら[Exit Preview(プレビューを閉じる)]をクリックします。
- 「新しいダイナミック属性を追加する」セクションで使用するために、確定した式をコピーします。
- [Cancel(キャンセル)]をクリックします。
- テスト属性が削除されます。
新しいダイナミック属性を追加する
- (未定義の変数:okta-feature-names.Access Gateway UI)に移動します。
- [Topology(トポロジ)] タブまたは [Applications(アプリケーション)] タブからアプリケーションを開きます。
- [Attributes(属性)]ペインを選択します。
アプリケーションの既知の属性が、以下のように表示されます:
- 属性リストヘッダーの追加ボタン()をクリックします。
[New Attribute(新規属性)]ダイアログボックスが現れます。ページの一番下に新規属性が追加されるため、場合によってはリストをスクロールする必要があります。 - [Data Source(データソース)]ドロップダウンボックスから、[IDP]を選択します。
演算後の属性のみをデータソースとしてIDPで使用できます。 - [Type(タイプ)]ドロップダウンボックスで、[Header(ヘッダー)]または[Cookie]のいずれかの適切なターゲットタイプを選択します。
- [Name(名前)]フィールドに、保護されたWebリソースが期待するヘッダー名またはCookie値を入力します。
- [Field]フィールドの値を選択し、削除キーを使用してこのコンテンツを削除します。
エラーメッセージ「This field is required(このフィールドは必須です)」が表示されますが無視します。 - ダイナミック属性式を入力します。
例:String.toUpperCase(user.firstName+"_"+user.lastName)ダイナミック属性の式は、[Field]フィールドに式を入力し、改行キーを押して追加する必要があります。
式はこのフィールドにカット・アンド・ペーストできません。 - 完了したら[Okay(OK)]をクリックします。
式
式を使用して属性の連結、文字列の操作、データ型の変換などができます。属性定義内の式を使用すると、全く新しい値を構築してヘッダーまたはCookieに追加できます。
OktaはSpring Expression Language(SpEL)関数のサブセットをサポートします。
式は以下の組み合わせです。
- 変数 - Oktaユーザープロファイルにある要素です。例として、ユーザーの後にリストのフィールドのいずれかが続きます。例: user.firstName、user.lastName、user.email、その他ホストなど。フィールドの一覧は大文字と小文字を区別します。つまりfirstName、firstname、FirstNameは別物です。ユーザー変数のすべての一覧を表示するには、Okta orgにサインインし、 に移動します。
- 操作 - 連結またはその他の変数操作に使用されます。先の例では、「+」で2つのオブジェクトを連結しています。
- 関数 - 変数を変更するか目的の結果に到達するために使用されます。先の例では、String.toUpperCaseによって入力値をすべて大文字にして返します。
すべての一覧については、「Okta Expression Language」の「関数」をご覧ください。
テスト
計算された属性のテストを最も簡単に実行するには、Access Gatewayサンプルヘッダーアプリケーションを使用します。
式をテストするには:
- 「サンプルヘッダーアプリケーションを追加する」の手順に従い、サンプルヘッダーアプリケーションを追加します。
- 「新しいダイナミック属性を追加する」セクションに記載されているように、アプリケーションを修正します。
- シークレットまたは同等のウィンドウでAccess Gatewayに管理者として接続してアプリケーションのテストに進み、 を選択します。
- 必要に応じてログインします。
- 計算後のフィールドの結果を確認します。
シークレットブラウザーウィンドウは、ページのキャッシュによって一部のインスタンスが予想外または古い結果を返すことを回避するために使用されます。