式と例
式を使用して属性の連結、文字列の操作、データ型の変換などができます。式を使用すると、まったく新しい値を構築してから、これらの値を使用してユーザーを検索できます。
OktaはSpring Expression Language(SpEL)関数のサブセットをサポートします。
はじめに
式は以下の組み合わせです:
- 変数 - Oktaユーザープロファイルにある要素です。 例として、ユーザーの後にリストのフィールドのいずれかが続きます。 たとえば、idpuser.subjectAltNameUpn、idpuser.subjectAltNameEmailがあります。フィールドの一覧は大文字と小文字を区別します。つまりfirstName、firstname、FirstNameは別物です。変数の完全なリストについては、スマート・カードIDプロバイダーを追加を参照してください。
- 操作 - 連結またはその他の変数操作に使用されます。先の例では、 "+" で2つのオブジェクトを連結しています。
- 関数 - 変数を変更するか目的の結果に到達するために使用されます。先の例では、String.toUpperCaseは入力値をすべて大文字にして返します。
すべての一覧については、「Okta式言語」の「関数」をご覧ください。
次のフィールドがサポートされています。
idpuser.subjectAltNameUpn
idpuser.subjectAltNameEmail
idpuser.subjectAltNameUuid
idpuser.subjectKeyIdentifier
idpuser.subjectCn
idpuser.subjectO
idpuser.subjectOu
idpuser.sha1PublicKeyHash
例
次の例は説明のみを目的としています。
説明 | 例 |
---|---|
@文字より前のコンテンツをすべて選択します。 | String.substringBefore(ipduser.subjectAltNameEmail, "@") |
表示されたフィールドの最後の20文字を選択します。 | String.substring(idpuser.subjectCn, String.len(idpuser.subjectCn)-20, String.len(idpuser.subjectCn)) |
@ 文字より前のすべてのコンテンツを選択し、小文字に変換します。 | String.toLowerCase(String.substringBefore(ipduser.subjectAltNameUpn, "@")) |
選択したフィールドに@文字が含まれる場合は、この文字の前のすべてのコンテンツを返します。それ以外の場合はフィールド全体を返します。 | String.stringContains(idpuser.subjectAltNameEmail, "@") ? |