OAuthリソース・サーバーの作成およびアクティブ化
この項では、アイデンティティ・ドメインのREST APIを使用してOAuthリソース・サーバーを作成およびアクティブ化するリクエストの例を示します。
OAuthリソース・サーバー・アプリケーションの作成
リソース・サーバー・アプリケーションは、Webアプリケーションがユーザーのために使用するサービスを提供するサードパーティ・アプリケーションです。次の例では、OAuthリソース・アプリケーションを作成するためのリクエストを作成する方法を示します。
ノート
リクエストでオプションの
リクエストでオプションの
name
属性を使用している場合、値では英数字およびアンダースコア( _ )文字のみを使用するようにしてください。echo "Create OAuth Resource App"
cat>/tmp/OAuthResourceApp.json << __EOF__
{
"schemas":["urn:ietf:params:scim:schemas:oracle:idcs:App"],
"displayName":"Example_Service1",
"description":"example service1",
"audience":"http://example.com/",
"isOAuthResource": true,
"basedOnTemplate": {
"value": "CustomWebAppTemplateId"
},
"scopes": [
{
"description": "photos",
"requiresConsent": true,
"value": "photos"
},
{
"description": "presentations",
"requiresConsent": true,
"value": "presentations"
},
{
"description": "documents",
"requiresConsent": true,
"value": "documents"
},
{
"description": "user",
"requiresConsent": false,
"value": "UserProfile.me"
},
{
"description": "sample",
"requiresConsent": false,
"value": "test1.scope"
}
]
}
__EOF__
curl -X POST
-H "Content-type: application/json"
-H "Authorization: Bearer <access token value>"
--data @/tmp/OAuthResourceApp.json http://<domainURL>/admin/v1/Apps
OAuthリソース・サーバー・アプリケーションに必要なアプリケーション属性
必要なアプリケーション属性 | 説明 |
---|---|
displayName
|
アプリケーションの表示名を識別します。表示名はユーザーにとってわかりやすいことを目的とし、管理者が値をいつでも変更できます。 |
basedOnTemplate
|
アプリケーションの基礎になっているアプリケーション・テンプレートを示します。 |
isOAuthResource
|
true に設定した場合は、このアプリケーションがOAuthリソースとして機能することを示します。 |
audience
|
このアプリケーションで定義されているすべてのスコープに対するベースURIを識別します。audience の値は、fqs (完全修飾スコープ)を形成するために各スコープのvalue と結合されます。 |
OAuthリソース・アプリケーションのアクティブ化
次の例を使用して、OAuthリソース・サーバー・アプリケーションをアクティブ化するためのリクエストを作成します。
echo "Activate OAuth Resource App"
cat>/tmp/OAuthResourceApp.json << __EOF__
{
"active" : true,
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:AppStatusChanger"
]
}
__EOF__
curl -X PUT
-H "Content-type: application/json"
-H "Authorization: Bearer <access token value>"
--data @/tmp/OAuthResourceApp.json http://<domainURL>/admin/v1/AppStatusChanger/<appID>