ユーザー・プリファレンスが更新される。
put
/oaa/runtime/preferences/v1
ユーザーの既存のプリファレンスを更新します。ファクタがすでに登録されている場合、指定されたデータで上書きされます。登録されていない場合、APIでは指定されたデータを使用して追加されます。オプションのパラメータimageReferenceおよびphraseStringを指定すると、既存の値が上書きされます。このAPIは、更新されたプリファレンスと既存のプリファレンスの両方を含む、ユーザーのすべてのプリファレンスを返します。
APIコールには、userIdおよびgroupIdを含める必要があります。uniqueUserIdが指定されている場合は、ユーザーを一意に識別するために使用されます。uniqueUserIdが指定されていない場合は、userIdとgroupIdの組合せを使用してユーザーを一意に識別します。OAAでユーザーが見つからない場合は、エラーが返されます。
APIコールには、userIdおよびgroupIdを含める必要があります。uniqueUserIdが指定されている場合は、ユーザーを一意に識別するために使用されます。uniqueUserIdが指定されていない場合は、userIdとgroupIdの組合せを使用してユーザーを一意に識別します。OAAでユーザーが見つからない場合は、エラーが返されます。
リクエスト
この操作にはリクエスト・パラメータはありません。
サポートされているメディア・タイプ
- application/xml
- application/json
ルート・スキーマ: schema
型:
object
各タイプのチャレンジ・ファクタに対するユーザーおよびユーザーのチャレンジの登録に関する情報。
ソースの表示
-
alternateName: string
ユーザー画面で使用できるユーザーの代替名。
-
defaultlocale: string
ユーザーのデフォルト・ロケール。指定しない場合は、デフォルト値の「en_US」が使用されます。
-
displayName: string
ユーザー画面で使用できるユーザーの表示名。
-
factorsRegistered: array factorsRegistered
ユーザーのファクタ登録データの配列。
-
groupId(required): string
プリファレンス・データが必要なユーザーのGroupId/ApplicationId。このパラメータが存在しない場合、"Default"という値が使用されます。
-
imageReference: string
secureImageの場所。Example:/images/secureImage01.jpg.イメージ・パスを完全なURLとして返すようにシステムが構成されている場合、次の2つのプロパティを構成する必要があります。1.)oaa.preferences.prependBasePath = true (デフォルトはfalse)、2.)oaa.preferences.imageBasePath=
。システム・プロパティoaa.preferences.prependBasePath = falseの場合、secureImageの場所のみがそのまま返されます。set (post)の場合は、相対パスのみが使用され、getの場合は、前述のように設定されていれば完全なURLが返されます。 -
phraseString: string
ユーザー優先フレーズ文字列(例: Hello World!)
-
uniqueUserId: string
ユーザーの正規のID。これが存在する場合は、userId + groupIdの組合せよりも優先されます。
-
userId(required): string
ユーザーの識別子さらにgroupIdで修飾できます。
ネストされたスキーマ: factorsRegistered
型:
array
ユーザーのファクタ登録データの配列。
ソースの表示
- 配列: object FactorRegData
factorNameおよびキーと値のマップを含むエントリ。キーと値のマップには、そのファクタに固有の属性が含まれます。
ネストされたスキーマ: FactorRegData
型:
object
factorNameおよびキーと値のマップを含むエントリ。キーと値のマップには、そのファクタに固有の属性が含まれます。
ソースの表示
-
factorAttributes(required): array factorAttributes
このユーザーのファクタの属性のコレクション。
-
factorKey: string
ファクタのキー。これは、OAAシステムで使用可能なファクタの1つにマップする必要がある名前です。これは、challenge.type.enumの列挙名の1つである必要があります。たとえば、ChallengeEmail、ChallengeSMS、ChallengeOMATOTP、ChallangeYOTPおよびChallengeFIDO2です。
-
factorName(required): string
これは、OAAシステムで使用可能なファクタの1つにマップする必要がある名前です。これは、challenge.type.enumの列挙名の1つである必要があります。たとえば、ファクタが電子メールの場合、factorNameはEmail Challengeです。例として、Email Challenge、SMS Challenge、OMA TOTP Challenge、Yubikey OTP Challange、FIDO2 Challengeがあります。
-
isPreferred: boolean
ファクタが、ユーザーがチャレンジする優先ファクタかどうか。
ネストされたスキーマ: factorAttributes
型:
array
このユーザーのファクタの属性のコレクション。
ソースの表示
- 配列: object PrefFactorAttribute
エントリの配列として表されるマップ。
ネストされたスキーマ: PrefFactorAttribute
型:
object
エントリの配列として表されるマップ。
ソースの表示
-
factorAttributeName: string
ファクタ固有属性の名前。
-
factorAttributeValue: array factorAttributeValue
ファクタ固有属性の値。配列に複数の値を指定できます。
ネストされたスキーマ: factorAttributeValue
型:
array
ファクタ固有属性の値。配列に複数の値を指定できます。
ソースの表示
- 配列: object PrefFactorAttributeValue
ファクタの属性値。
ネストされたスキーマ: PrefFactorAttributeValue
型:
object
ファクタの属性値。
ソースの表示
-
createTime: string (date-time)
"rfc3339セクション5.6の形式の日時文字列。https://tools.ietf.org/html/rfc3339#section-5.6"
-
isEnabled: boolean
ファクタ属性が有効どうかを示します。デフォルトでは、trueに設定されています。
-
isPreferred: boolean
属性の値が配列の他の同様の値よりも優先されるかどうかを示します。
-
isValidated: boolean
デフォルト値:
true
指定された属性が検証されているかどうかを示します。一部の属性には検証が不要なため、このフィールドはオプションです。 -
isVerified: boolean
デフォルト値:
true
指定された属性が検証されているかどうかを示します。一部の属性には検証が不要なため、このフィールドはオプションです。 -
name(required): string
デバイスのわかりやすい名前。
-
value(required): string
ファクタ属性の値。
ルート・スキーマ: schema
型:
object
各タイプのチャレンジ・ファクタに対するユーザーおよびユーザーのチャレンジの登録に関する情報。
ソースの表示
-
alternateName: string
ユーザー画面で使用できるユーザーの代替名。
-
defaultlocale: string
ユーザーのデフォルト・ロケール。指定しない場合は、デフォルト値の「en_US」が使用されます。
-
displayName: string
ユーザー画面で使用できるユーザーの表示名。
-
factorsRegistered: array factorsRegistered
ユーザーのファクタ登録データの配列。
-
groupId(required): string
プリファレンス・データが必要なユーザーのGroupId/ApplicationId。このパラメータが存在しない場合、"Default"という値が使用されます。
-
imageReference: string
secureImageの場所。Example:/images/secureImage01.jpg.イメージ・パスを完全なURLとして返すようにシステムが構成されている場合、次の2つのプロパティを構成する必要があります。1.)oaa.preferences.prependBasePath = true (デフォルトはfalse)、2.)oaa.preferences.imageBasePath=
。システム・プロパティoaa.preferences.prependBasePath = falseの場合、secureImageの場所のみがそのまま返されます。set (post)の場合は、相対パスのみが使用され、getの場合は、前述のように設定されていれば完全なURLが返されます。 -
phraseString: string
ユーザー優先フレーズ文字列(例: Hello World!)
-
uniqueUserId: string
ユーザーの正規のID。これが存在する場合は、userId + groupIdの組合せよりも優先されます。
-
userId(required): string
ユーザーの識別子さらにgroupIdで修飾できます。
ネストされたスキーマ: factorsRegistered
型:
array
ユーザーのファクタ登録データの配列。
ソースの表示
- 配列: object FactorRegData
factorNameおよびキーと値のマップを含むエントリ。キーと値のマップには、そのファクタに固有の属性が含まれます。
ネストされたスキーマ: FactorRegData
型:
object
factorNameおよびキーと値のマップを含むエントリ。キーと値のマップには、そのファクタに固有の属性が含まれます。
ソースの表示
-
factorAttributes(required): array factorAttributes
このユーザーのファクタの属性のコレクション。
-
factorKey: string
ファクタのキー。これは、OAAシステムで使用可能なファクタの1つにマップする必要がある名前です。これは、challenge.type.enumの列挙名の1つである必要があります。たとえば、ChallengeEmail、ChallengeSMS、ChallengeOMATOTP、ChallangeYOTPおよびChallengeFIDO2です。
-
factorName(required): string
これは、OAAシステムで使用可能なファクタの1つにマップする必要がある名前です。これは、challenge.type.enumの列挙名の1つである必要があります。たとえば、ファクタが電子メールの場合、factorNameはEmail Challengeです。例として、Email Challenge、SMS Challenge、OMA TOTP Challenge、Yubikey OTP Challange、FIDO2 Challengeがあります。
-
isPreferred: boolean
ファクタが、ユーザーがチャレンジする優先ファクタかどうか。
ネストされたスキーマ: factorAttributes
型:
array
このユーザーのファクタの属性のコレクション。
ソースの表示
- 配列: object PrefFactorAttribute
エントリの配列として表されるマップ。
ネストされたスキーマ: PrefFactorAttribute
型:
object
エントリの配列として表されるマップ。
ソースの表示
-
factorAttributeName: string
ファクタ固有属性の名前。
-
factorAttributeValue: array factorAttributeValue
ファクタ固有属性の値。配列に複数の値を指定できます。
ネストされたスキーマ: factorAttributeValue
型:
array
ファクタ固有属性の値。配列に複数の値を指定できます。
ソースの表示
- 配列: object PrefFactorAttributeValue
ファクタの属性値。
ネストされたスキーマ: PrefFactorAttributeValue
型:
object
ファクタの属性値。
ソースの表示
-
createTime: string (date-time)
"rfc3339セクション5.6の形式の日時文字列。https://tools.ietf.org/html/rfc3339#section-5.6"
-
isEnabled: boolean
ファクタ属性が有効どうかを示します。デフォルトでは、trueに設定されています。
-
isPreferred: boolean
属性の値が配列の他の同様の値よりも優先されるかどうかを示します。
-
isValidated: boolean
デフォルト値:
true
指定された属性が検証されているかどうかを示します。一部の属性には検証が不要なため、このフィールドはオプションです。 -
isVerified: boolean
デフォルト値:
true
指定された属性が検証されているかどうかを示します。一部の属性には検証が不要なため、このフィールドはオプションです。 -
name(required): string
デバイスのわかりやすい名前。
-
value(required): string
ファクタ属性の値。
レスポンス
サポートされているメディア・タイプ
- application/xml
- application/json
- text/plain
201レスポンス
ユーザー・プリファレンスが更新されました。
ルート・スキーマ: PreferencesResponse
型:
ソースの表示
object
-
message: object PrefAPIResponse
-
preferences: object schema
各タイプのチャレンジ・ファクタに対するユーザーおよびユーザーのチャレンジの登録に関する情報。
ネストされたスキーマ: schema
型:
object
各タイプのチャレンジ・ファクタに対するユーザーおよびユーザーのチャレンジの登録に関する情報。
ソースの表示
-
alternateName: string
ユーザー画面で使用できるユーザーの代替名。
-
defaultlocale: string
ユーザーのデフォルト・ロケール。指定しない場合は、デフォルト値の「en_US」が使用されます。
-
displayName: string
ユーザー画面で使用できるユーザーの表示名。
-
factorsRegistered: array factorsRegistered
ユーザーのファクタ登録データの配列。
-
groupId(required): string
プリファレンス・データが必要なユーザーのGroupId/ApplicationId。このパラメータが存在しない場合、"Default"という値が使用されます。
-
imageReference: string
secureImageの場所。Example:/images/secureImage01.jpg.イメージ・パスを完全なURLとして返すようにシステムが構成されている場合、次の2つのプロパティを構成する必要があります。1.)oaa.preferences.prependBasePath = true (デフォルトはfalse)、2.)oaa.preferences.imageBasePath=
。システム・プロパティoaa.preferences.prependBasePath = falseの場合、secureImageの場所のみがそのまま返されます。set (post)の場合は、相対パスのみが使用され、getの場合は、前述のように設定されていれば完全なURLが返されます。 -
phraseString: string
ユーザー優先フレーズ文字列(例: Hello World!)
-
uniqueUserId: string
ユーザーの正規のID。これが存在する場合は、userId + groupIdの組合せよりも優先されます。
-
userId(required): string
ユーザーの識別子さらにgroupIdで修飾できます。
ネストされたスキーマ: factorsRegistered
型:
array
ユーザーのファクタ登録データの配列。
ソースの表示
- 配列: object FactorRegData
factorNameおよびキーと値のマップを含むエントリ。キーと値のマップには、そのファクタに固有の属性が含まれます。
ネストされたスキーマ: FactorRegData
型:
object
factorNameおよびキーと値のマップを含むエントリ。キーと値のマップには、そのファクタに固有の属性が含まれます。
ソースの表示
-
factorAttributes(required): array factorAttributes
このユーザーのファクタの属性のコレクション。
-
factorKey: string
ファクタのキー。これは、OAAシステムで使用可能なファクタの1つにマップする必要がある名前です。これは、challenge.type.enumの列挙名の1つである必要があります。たとえば、ChallengeEmail、ChallengeSMS、ChallengeOMATOTP、ChallangeYOTPおよびChallengeFIDO2です。
-
factorName(required): string
これは、OAAシステムで使用可能なファクタの1つにマップする必要がある名前です。これは、challenge.type.enumの列挙名の1つである必要があります。たとえば、ファクタが電子メールの場合、factorNameはEmail Challengeです。例として、Email Challenge、SMS Challenge、OMA TOTP Challenge、Yubikey OTP Challange、FIDO2 Challengeがあります。
-
isPreferred: boolean
ファクタが、ユーザーがチャレンジする優先ファクタかどうか。
ネストされたスキーマ: factorAttributes
型:
array
このユーザーのファクタの属性のコレクション。
ソースの表示
- 配列: object PrefFactorAttribute
エントリの配列として表されるマップ。
ネストされたスキーマ: PrefFactorAttribute
型:
object
エントリの配列として表されるマップ。
ソースの表示
-
factorAttributeName: string
ファクタ固有属性の名前。
-
factorAttributeValue: array factorAttributeValue
ファクタ固有属性の値。配列に複数の値を指定できます。
ネストされたスキーマ: factorAttributeValue
型:
array
ファクタ固有属性の値。配列に複数の値を指定できます。
ソースの表示
- 配列: object PrefFactorAttributeValue
ファクタの属性値。
ネストされたスキーマ: PrefFactorAttributeValue
型:
object
ファクタの属性値。
ソースの表示
-
createTime: string (date-time)
"rfc3339セクション5.6の形式の日時文字列。https://tools.ietf.org/html/rfc3339#section-5.6"
-
isEnabled: boolean
ファクタ属性が有効どうかを示します。デフォルトでは、trueに設定されています。
-
isPreferred: boolean
属性の値が配列の他の同様の値よりも優先されるかどうかを示します。
-
isValidated: boolean
デフォルト値:
true
指定された属性が検証されているかどうかを示します。一部の属性には検証が不要なため、このフィールドはオプションです。 -
isVerified: boolean
デフォルト値:
true
指定された属性が検証されているかどうかを示します。一部の属性には検証が不要なため、このフィールドはオプションです。 -
name(required): string
デバイスのわかりやすい名前。
-
value(required): string
ファクタ属性の値。
401レスポンス
未認可
412レスポンス
無効な入力
500レスポンス
内部サーバー・エラー
503レスポンス
サービス使用不可
例
次の例は、ユーザー・プリファレンスを更新するサンプルのリクエストとレスポンスを示します。
JSON形式でユーザー・プリファレンスを更新するcURLコマンド
curl --location --request PUT '<OAAService>/oaa/runtime/preferences/v1' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic <Base64Encoded(<username>:<password>)>' \ --data '{ "userId": "user1", "groupId": "financeapp", "uniqueUserId": "user1", "factorsRegistered": [ { "factorAttributes": [ { "factorAttributeValue": [ { "value": "+123456789000", "name": "Device1", "isEnabled": true } ], "factorAttributeName": "mobile" } ], "factorKey": "ChallengeSMS", "isPreferred": false } ] }'
JSON形式のサンプル・レスポンス
{ "preferences": { "userId": "user1", "groupId": "financeapp", "uniqueUserId": "user1", "imageReference": "/u01/oracle/service/store/img001.jpg", "phraseString": "Hello World!", "factorsRegistered": [ { "isPreferred": false, "factorName": "Oracle Mobile Authenticator", "factorKey": "ChallengeOMATOTP", "factorAttributes": [ { "factorAttributeName": "omatotpsecretkey", "factorAttributeValue": [ { "value": "welcome", "isPreferred": false, "isVerified": true, "isValidated": true, "name": "Device1", "isEnabled": true, "createTime": { "parseFailed": false, "dateTime": "2025-03-07T20:03:09.954Z", "rawParam": "2025-03-07T20:03:09.954Z" } } ] } ] }, { "isPreferred": false, "factorName": "Email Challenge", "factorKey": "ChallengeEmail", "factorAttributes": [ { "factorAttributeName": "email", "factorAttributeValue": [ { "value": "user1@example.com", "isPreferred": false, "isVerified": true, "isValidated": true, "name": "Device1", "isEnabled": true, "createTime": { "parseFailed": false, "dateTime": "2025-03-07T20:03:09.954Z", "rawParam": "2025-03-07T20:03:09.954Z" } } ] } ] }, { "isPreferred": false, "factorName": "SMS Challenge", "factorKey": "ChallengeSMS", "factorAttributes": [ { "factorAttributeName": "mobile", "factorAttributeValue": [ { "value": "+123456789000", "isPreferred": false, "isVerified": true, "isValidated": true, "name": "Device1", "isEnabled": true, "createTime": { "parseFailed": false, "dateTime": "2025-03-07T20:03:09.955Z", "rawParam": "2025-03-07T20:03:09.955Z" } } ] } ] } ] }, "message": { "responseCode": "200", "responseMessage": "User Preferences updated." } }
XML形式でユーザー・プリファレンスを更新するcURLコマンド
curl --location --request PUT '<OAAService>/oaa/runtime/preferences/v1' \ --header 'Content-Type: application/xml' \ --header 'Accept: application/xml' \ --header 'Authorization: Basic <Base64Encoded(<username>:<password>)>' \ --data '<?xml version="1.0" encoding="UTF-8" ?> <UserPreferences> <userId>user1</userId> <groupId>financeapp</groupId> <uniqueUserId>user1</uniqueUserId> <factorsRegistered> <factorAttributes> <factorAttributeValue> <value>5109962275</value> <name>mytotp-pref-api</name> <isEnabled>false</isEnabled> </factorAttributeValue> <factorAttributeName>omatotpsecretkey</factorAttributeName> </factorAttributes> <factorKey>ChallengeOMATOTP</factorKey> <isPreferred>false</isPreferred> </factorsRegistered> </UserPreferences> '
XML形式のサンプル・レスポンス
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><PreferencesResponse> <preferences> <userId>user1</userId> <groupId>financeapp</groupId> <uniqueUserId>user1</uniqueUserId> <imageReference>/u01/oracle/service/store/img001.jpg</imageReference> <phraseString>Hello World!</phraseString> <factorsRegistered> <isPreferred>false</isPreferred> <factorName>Oracle Mobile Authenticator</factorName> <factorKey>ChallengeOMATOTP</factorKey> <factorAttributes> <factorAttributeName>omatotpsecretkey</factorAttributeName> <factorAttributeValue> <value>5109962275</value> <isPreferred>false</isPreferred> <isVerified>true</isVerified> <isValidated>true</isValidated> <name>mytotp-pref-api</name> <isEnabled>false</isEnabled> <createTime> <dateTime>2025-03-07T20:42:49.952Z</dateTime> <parseFailed>false</parseFailed> <rawParam>2025-03-07T20:42:49.952Z</rawParam> </createTime> </factorAttributeValue> </factorAttributes> </factorsRegistered> <factorsRegistered> <isPreferred>false</isPreferred> <factorName>Email Challenge</factorName> <factorKey>ChallengeEmail</factorKey> <factorAttributes> <factorAttributeName>Device1</factorAttributeName> <factorAttributeValue> <value>true</value> <isPreferred>false</isPreferred> <isVerified>true</isVerified> <isValidated>true</isValidated> <name>isValidated</name> <isEnabled>true</isEnabled> <createTime> <dateTime>2025-03-07T20:31:43.783Z</dateTime> <parseFailed>false</parseFailed> <rawParam>2025-03-07T20:31:43.783Z</rawParam> </createTime> </factorAttributeValue> <factorAttributeValue> <value>val2</value> <isPreferred>false</isPreferred> <isVerified>true</isVerified> <isValidated>true</isValidated> <name>attr2</name> <isEnabled>true</isEnabled> <createTime> <dateTime>2025-03-07T20:31:43.783Z</dateTime> <parseFailed>false</parseFailed> <rawParam>2025-03-07T20:31:43.783Z</rawParam> </createTime> </factorAttributeValue> <factorAttributeValue> <value>value1</value> <isPreferred>false</isPreferred> <isVerified>true</isVerified> <isValidated>true</isValidated> <name>attr1</name> <isEnabled>true</isEnabled> <createTime> <dateTime>2025-03-07T20:31:43.783Z</dateTime> <parseFailed>false</parseFailed> <rawParam>2025-03-07T20:31:43.783Z</rawParam> </createTime> </factorAttributeValue> </factorAttributes> <factorAttributes> <factorAttributeName>email</factorAttributeName> <factorAttributeValue> <value>user1@example.com</value> <isPreferred>false</isPreferred> <isVerified>true</isVerified> <isValidated>true</isValidated> <name>Device1</name> <isEnabled>true</isEnabled> <createTime> <dateTime>2025-03-07T20:31:43.783Z</dateTime> <parseFailed>false</parseFailed> <rawParam>2025-03-07T20:31:43.783Z</rawParam> </createTime> </factorAttributeValue> </factorAttributes> </factorsRegistered> </preferences> <message> <responseCode>200</responseCode> <responseMessage>User Preferences updated.</responseMessage> </message> </PreferencesResponse>