式と例

式を使用して属性の連結、文字列の操作、データ型の変換などができます。式を使用すると、まったく新しい値を構築してから、これらの値を使用してユーザーを検索できます。
OktaはSpring Expression Language(SpEL)関数のサブセットをサポートします。

はじめに

式は以下の組み合わせです:

  • 変数 - Oktaユーザープロファイルにある要素です。 例として、ユーザーの後にリストのフィールドのいずれかが続きます。 たとえば、idpuser.subjectAltNameUpnidpuser.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, "@") ?
String.substringBefore(ipduser.subjectAltNameEmail, "@") :
idpuser.subjectAltNameEmail

関連項目

スマート・カードIDプロバイダーを追加