---
title: "OAuthトークン"
slug: "oauth-tokens"
abstract: "Sitecore Content HubにおけるOAuthトークンの概要、サポートされる助成金タイプの説明と例。"
---
# OAuthトークン

OAuthは、あるアプリケーションがアカウント保有者やエンドユーザーのために変更を行うために別のアプリケーションに許可を与えるオープン [な認証標準](https://datatracker.ietf.org/doc/html/rfc6749) です。アクセストークンは、アプリケーションが一定期間ユーザーデータにアクセスする許可を与えるために使用されます。リフレッシュトークンは、再認証を必要とせずに新しいアクセストークンを取得するために使用され、セッションの有効期間を延長します。

## クライアント

各OAuthクライアントまたはアプリケーションは*M.OAuthClient*エンティティによって表現されます。新しいクライアントを登録するには、以下のプロパティを持つ新しい*M.OAuthClient*エンティティを作成します。

性質

概要

*M.OAuthClient.ClientName*

アプリケーションを承認するよう求める際にシステムに表示される使いやすい名前です。

*M.OAuthClient.ClientId*

クライアントの固有識別子です。

*M.OAuthクライアント.クライアント秘密*

認証サーバーがリクエストを検証するために使用する印刷可能なASCII文字の文字列で、リクエスト内で指定されたクライアントの秘密とクライアントエンティティで指定された秘密を比較します。

*M.OAuthClient.RedirectUrl*

ユーザーが承認を付与または拒否すると、ユーザーエージェントはこのURLを使って元のアプリケーションに戻されます。リダイレクトURLはクライアントエンティティで指定されたリクエストURLと同じでなければなりません。

## リクエストの提出

アクセストークンがあれば、認証されたリクエストを行えます。

GET /api/entities/6 HTTP/2
Host: https://<hostname>
Authorization: Bearer CfDJ8CvICaXDq9ZOhEDDMfvIz71\_tJhRrMspWLLSht09LtLYeiGPKHBFy3GXjAbArZKIgtYJgT1BoXPzOI2vfHEtN8shpjvgFmVNpRRZ6MjqM4bocXiRnrIRo5k6wbPGItv-BCcwp8n6KRrl3zjuWCiVAESbqh1VipI4HPb99PrgKushTMrytIijF-SjTAmwI5jnizMWM4UahYW0OGkkqhep1ySCeILBB-r2sjs1YuuyDdvgkWeaoLqJmcrP7VkUTsX1tfIf9\_7u6CGBLhvn5ZRsyV9kW9gi24OcdXq5Wp5il4rHGclt9JSuAUpZyzbosfzYApgRNvhErJ\_-C2VSFL63gl\_kPg7CbfGZphOLDQh-GsNomMuWLCw2s5az5BvxpIg2FUZqpadFObIb90mLBNxQl-Nn8BN8g4dXn4elXREXCrcN1j1h2mldpB6rP6N2W-pPS2gaz6qN4svDghBH0DckOj3GshA85yqQwZhYhKrwx8-O\_167dEhJZxWQ14hlxllG4e3LDgHsQfcPTfD63klkwgc

認可ヘッダーは以下の構造を持ちます:

Authorization: Bearer {access\_token}

## トークン寿命

アクセストークンは1時間有効ですが、リフレッシュトークンは90日間有効です。期限切れのアクセストークンを使おうとすると、HTTP 401応答が届きます。有効なリフレッシュトークンがあれば、エンドユーザーの参加を必要とせずに、リフレッシュトークンの付与を通じて新しいアクセスおよびリフレッシュトークンを生成できます。それ以外の場合は、別のグラントを使って新しいアクセスおよびリフレッシュトークンを取得する必要があります。

## 助成金の流れ

Sitecore Content Hub OAuth 2の実装は、以下の[RFC-6749](https://tools.ietf.org/html/rfc6749)助成金フローをサポートしています:

-   認可コード
-   リソースオーナーパスワード認証情報
-   リフレッシュトークン

### 認可コード付与

以下の情報が必要です:

財産

出典

例の値

クライアントID

*M.OAuthClient* entity

*MyApplicationId*

クライアントの秘密

*M.OAuthClient* entity

*MyApplicationSecret*

リダイレクトURL

*M.OAuthClient* entity

*[https://myapplication.com](https://myapplication.com)*

GET /oauth/authorize?client\_id=MyApplicationId&redirect\_uri=https%3A%2F%2Fmyapplication.com&response\_type=code HTTP/2
Host: https://<hostname>

HTTP2 302 Found
Location: /en-US/Account?ReturnUrl=%2Foauth%2Fauthorize%3Fclient\_id%3DMyApplicationId%26redirect\_uri%3Dhttps%253A%252F%252Fmyapplication.com%26response\_type%3Dcode

ブラウザでReturnUrlを開き、サインインしてください。

HTTP2 302 Found https://www.myapplication.com/?code=CfDJ8CvICaXDq9ZOhEDDMfvIz71Ai-ImHhlYRsmBv8Qo7tujvkL4FFpjde6jefCIxAutmM\_usKnod0eEjzKl78zsxRDYLBb4qa4\_eB11E9MqEILH8gigz-GBBhXFKDdj-bB9PZounU-zkEsFFj0abChyb-8AIgCgihLbmZiw4Tbtv1xwtpmDyQ4QR9odgtLOTzQyr-Wu1\_Hp3hVymfBS-OWS5PJavzGQ16a4GBlEYX-resh2pDTwJ2oYYUYpy2w1WZIcdvt32\_cWsPYWtw9zxZz2\_am5mGSADul83PaVTQYtT1deeFOCC1PzudqWw8QeKnB5QX4nVTCy-64b72dtsXk1-7V8ULMMR6sO5Gz5fP\_GlEr7nP67AgR2TSFlQekaQFHA\_hwpRRaiAcesdLPMP8uQ2V2CnQOTacmUhtiOn\_3wWbiYzsjgbQ56EivcbA5vTocWGKGNVE51gv0wkch5apOQjQeCRToI0K-Oa0hadxfw1vNFo3\_YxK78zsIDZyjql1Sp6lsCHHjIQhc0SptOuK0WMhsvGytQfgvSthvU-lNCL3A4YOB2pNpIhVd3ERIu2lkzQ1DhUHsg4JQc13FWE8S46NOwccbzMwPvrlEfjFHtP0F\_G3vNE9GJeUS48CecAoGT7EoaP76R2fhgZVTvhM3KbQ1l8p1\_iBpWcM3y78JF0SJ4T\_b2QOjZ9u4If--fbKblsplvee-lTizBr9WAwTTOLfEYqcRFVPYkLu07jdfNt3wjtSRn2V8OtFIEcZZJ2A5VacssNXz0UWOcPJaRJHKm1IDQ36rPyddrEmMTLiSLqZGllskdlVlQhmgqhd\_EEuNAmPq-8T0-mCLCHv4LgCJmesTRQou-YI3DctxIdezyHXOrFrZhMYtumk3JEwieGyaj6g

返されたcodeクエリパラメータの値をコピーします。次のリクエストで必要とされます。

POST /oauth/token HTTP/2
Host: https://<hostname>
Content-Type: application/x-www-form-urlencoded

grant\_type=authorization\_code&code=CfDJ8CvICaXDq9ZOhEDDMfvIz71Ai-ImHhlYRsmBv8Qo7tujvkL4FFpjde6jefCIxAutmM\_usKnod0eEjzKl78zsxRDYLBb4qa4\_eB11E9MqEILH8gigz-GBBhXFKDdj-bB9PZounU-zkEsFFj0abChyb-8AIgCgihLbmZiw4Tbtv1xwtpmDyQ4QR9odgtLOTzQyr-Wu1\_Hp3hVymfBS-OWS5PJavzGQ16a4GBlEYX-resh2pDTwJ2oYYUYpy2w1WZIcdvt32\_cWsPYWtw9zxZz2\_am5mGSADul83PaVTQYtT1deeFOCC1PzudqWw8QeKnB5QX4nVTCy-64b72dtsXk1-7V8ULMMR6sO5Gz5fP\_GlEr7nP67AgR2TSFlQekaQFHA\_hwpRRaiAcesdLPMP8uQ2V2CnQOTacmUhtiOn\_3wWbiYzsjgbQ56EivcbA5vTocWGKGNVE51gv0wkch5apOQjQeCRToI0K-Oa0hadxfw1vNFo3\_YxK78zsIDZyjql1Sp6lsCHHjIQhc0SptOuK0WMhsvGytQfgvSthvU-lNCL3A4YOB2pNpIhVd3ERIu2lkzQ1DhUHsg4JQc13FWE8S46NOwccbzMwPvrlEfjFHtP0F\_G3vNE9GJeUS48CecAoGT7EoaP76R2fhgZVTvhM3KbQ1l8p1\_iBpWcM3y78JF0SJ4T\_b2QOjZ9u4If--fbKblsplvee-lTizBr9WAwTTOLfEYqcRFVPYkLu07jdfNt3wjtSRn2V8OtFIEcZZJ2A5VacssNXz0UWOcPJaRJHKm1IDQ36rPyddrEmMTLiSLqZGllskdlVlQhmgqhd\_EEuNAmPq-8T0-mCLCHv4LgCJmesTRQou-YI3DctxIdezyHXOrFrZhMYtumk3JEwieGyaj6g&redirect\_uri=https%3A%2F%2Fmyapplication.com&client\_id=MyApplicationId&client\_secret=MyApplicationSecret

HTTP2 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache

{
 "scope": "offline\_access",
 "token\_type": "Bearer",
 "access\_token": "CfDJ8CvICaXDq9ZOhEDDMfvIz71\_tJhRrMspWLLSht09LtLYeiGPKHBFy3GXjAbArZKIgtYJgT1BoXPzOI2vfHEtN8shpjvgFmVNpRRZ6MjqM4bocXiRnrIRo5k6wbPGItv-BCcwp8n6KRrl3zjuWCiVAESbqh1VipI4HPb99PrgKushTMrytIijF-SjTAmwI5jnizMWM4UahYW0OGkkqhep1ySCeILBB-r2sjs1YuuyDdvgkWeaoLqJmcrP7VkUTsX1tfIf9\_7u6CGBLhvn5ZRsyV9kW9gi24OcdXq5Wp5il4rHGclt9JSuAUpZyzbosfzYApgRNvhErJ\_-C2VSFL63gl\_kPg7CbfGZphOLDQh-GsNomMuWLCw2s5az5BvxpIg2FUZqpadFObIb90mLBNxQl-Nn8BN8g4dXn4elXREXCrcN1j1h2mldpB6rP6N2W-pPS2gaz6qN4svDghBH0DckOj3GshA85yqQwZhYhKrwx8-O\_167dEhJZxWQ14hlxllG4e3LDgHsQfcPTfD63klkwgc",
 "expires\_in": 3600,
 "refresh\_token": "CfDJ8CvICaXDq9ZOhEDDMfvIz73OIChE4tuae9LfsM5\_0aX8ATs3-paFYvdM7shb5av4wLUZX-fJdhchN7vt2nRhQJRUbRGfKpu6-ksCqBh5fS6PHT3z2ZJ9k27ozmv9uwWYgDIXoL2oeV8afclGqk\_qna4JFOcVCe9mMNfL8XbaxybWp9-U1mwIvX6zaf-yfwHQIzd6ctZyGGjUd4lphZ\_rahEG4pYq5woqPu7aQV\_NaZhpN3tr--ZhRqPDnZBna2mVAfuLd7ZuKct0xwrp9hRmATbE5VYspgn3\_XXY0pUA7qZwImqUZD3dvgSViroKVrIPvLKWUbJSAdxqHC8ePbTgGoYvr0ms31bzp4GYZQwAh6D3yr\_Oqo2oNPg3KbVYblroRquVEkm5aqGCwPgrJ0LeiR\_xbPkmA0UGquGr7FrHg7IU4sa-C5DzqkGjlP4dCW3FL0DqgTR0BLJGyosnA9sjfeOqu\_DC626JdwcXOoNdS-XEF1WQGefoOAsQbdP0u1tW5p\_1n7a-rDY0Nu3MGVbDc2dXLb00kDUVGd4YGxF0yI139QlU1Hws1tqV1G4Yx25aw77pNFsWsooMQIFHU64CHp8hmmAl-usoDDxiv6cM5XDwf4soYp9VPfMk5CtqAP0iutoIDNmQkd5JcIdhFcmw7aWVLuyLW\_uy2kbyiboGmveGckFuNL-TIQlwg5hTI8cjW3UwpioUVx0Xz-R5htVaerCRbhnW1PJtDE7twb2uE-wCeKX2IYFlTdVxmXSYV7orIq5\_hBNzfyuKQRF8tWa1e1dNqT8XZd-1JbahvLID\_EsuaBDEkzsOGdqYKsze7Cwn5KR\_SMLEtVKsfOcL4fBmzKeRYcIA3LsT455B2LTtPjy7"
}

### リソース所有者パスワード認証情報の付与

この助成金はアクセストークンを取得するための承認助成金として直接使用できます。

以下の情報が必要です:

財産

出典

例の値

クライアントID

*M.OAuthClient* entity

*MyApplicationId*

クライアントの秘密

*M.OAuthClient* entity

*MyApplicationSecret*

ユーザー名

ユーザー

*Administrator*

パスワード

ユーザー

*管理者*

POST /oauth/token HTTP/2
Host: https://<hostname>
Content-Type: application/x-www-form-urlencoded

grant\_type=password&client\_id=MyApplicationId&client\_secret=MyApplicationSecret&username=Administrator&password=admin

HTTP2 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache

{
 "scope": "offline\_access",
 "token\_type": "Bearer",
 "access\_token": "CfDJ8CvICaXDq9ZOhEDDMfvIz71\_tJhRrMspWLLSht09LtLYeiGPKHBFy3GXjAbArZKIgtYJgT1BoXPzOI2vfHEtN8shpjvgFmVNpRRZ6MjqM4bocXiRnrIRo5k6wbPGItv-BCcwp8n6KRrl3zjuWCiVAESbqh1VipI4HPb99PrgKushTMrytIijF-SjTAmwI5jnizMWM4UahYW0OGkkqhep1ySCeILBB-r2sjs1YuuyDdvgkWeaoLqJmcrP7VkUTsX1tfIf9\_7u6CGBLhvn5ZRsyV9kW9gi24OcdXq5Wp5il4rHGclt9JSuAUpZyzbosfzYApgRNvhErJ\_-C2VSFL63gl\_kPg7CbfGZphOLDQh-GsNomMuWLCw2s5az5BvxpIg2FUZqpadFObIb90mLBNxQl-Nn8BN8g4dXn4elXREXCrcN1j1h2mldpB6rP6N2W-pPS2gaz6qN4svDghBH0DckOj3GshA85yqQwZhYhKrwx8-O\_167dEhJZxWQ14hlxllG4e3LDgHsQfcPTfD63klkwgc",
 "expires\_in": 3600,
 "refresh\_token": "CfDJ8CvICaXDq9ZOhEDDMfvIz73OIChE4tuae9LfsM5\_0aX8ATs3-paFYvdM7shb5av4wLUZX-fJdhchN7vt2nRhQJRUbRGfKpu6-ksCqBh5fS6PHT3z2ZJ9k27ozmv9uwWYgDIXoL2oeV8afclGqk\_qna4JFOcVCe9mMNfL8XbaxybWp9-U1mwIvX6zaf-yfwHQIzd6ctZyGGjUd4lphZ\_rahEG4pYq5woqPu7aQV\_NaZhpN3tr--ZhRqPDnZBna2mVAfuLd7ZuKct0xwrp9hRmATbE5VYspgn3\_XXY0pUA7qZwImqUZD3dvgSViroKVrIPvLKWUbJSAdxqHC8ePbTgGoYvr0ms31bzp4GYZQwAh6D3yr\_Oqo2oNPg3KbVYblroRquVEkm5aqGCwPgrJ0LeiR\_xbPkmA0UGquGr7FrHg7IU4sa-C5DzqkGjlP4dCW3FL0DqgTR0BLJGyosnA9sjfeOqu\_DC626JdwcXOoNdS-XEF1WQGefoOAsQbdP0u1tW5p\_1n7a-rDY0Nu3MGVbDc2dXLb00kDUVGd4YGxF0yI139QlU1Hws1tqV1G4Yx25aw77pNFsWsooMQIFHU64CHp8hmmAl-usoDDxiv6cM5XDwf4soYp9VPfMk5CtqAP0iutoIDNmQkd5JcIdhFcmw7aWVLuyLW\_uy2kbyiboGmveGckFuNL-TIQlwg5hTI8cjW3UwpioUVx0Xz-R5htVaerCRbhnW1PJtDE7twb2uE-wCeKX2IYFlTdVxmXSYV7orIq5\_hBNzfyuKQRF8tWa1e1dNqT8XZd-1JbahvLID\_EsuaBDEkzsOGdqYKsze7Cwn5KR\_SMLEtVKsfOcL4fBmzKeRYcIA3LsT455B2LTtPjy7"
}

### リフレッシュトークン付与

以下の情報が必要です:

財産

出典

例の値

クライアントID

*M.OAuthClient* entity

*MyApplicationId*

クライアントの秘密

*M.OAuthClient* entity

*MyApplicationSecret*

リフレッシュトークン

前回のOAuthセッション

*cfDJ8...tPjy7*

POST /oauth/token HTTP/2
Host: https://<hostname>
Content-Type: application/x-www-form-urlencoded

grant\_type=refresh\_token&client\_id=MyApplicationId&client\_secret=MyApplicationSecret&refresh\_token=CfDJ8CvICaXDq9ZOhEDDMfvIz73OIChE4tuae9LfsM5\_0aX8ATs3-paFYvdM7shb5av4wLUZX-fJdhchN7vt2nRhQJRUbRGfKpu6-ksCqBh5fS6PHT3z2ZJ9k27ozmv9uwWYgDIXoL2oeV8afclGqk\_qna4JFOcVCe9mMNfL8XbaxybWp9-U1mwIvX6zaf-yfwHQIzd6ctZyGGjUd4lphZ\_rahEG4pYq5woqPu7aQV\_NaZhpN3tr--ZhRqPDnZBna2mVAfuLd7ZuKct0xwrp9hRmATbE5VYspgn3\_XXY0pUA7qZwImqUZD3dvgSViroKVrIPvLKWUbJSAdxqHC8ePbTgGoYvr0ms31bzp4GYZQwAh6D3yr\_Oqo2oNPg3KbVYblroRquVEkm5aqGCwPgrJ0LeiR\_xbPkmA0UGquGr7FrHg7IU4sa-C5DzqkGjlP4dCW3FL0DqgTR0BLJGyosnA9sjfeOqu\_DC626JdwcXOoNdS-XEF1WQGefoOAsQbdP0u1tW5p\_1n7a-rDY0Nu3MGVbDc2dXLb00kDUVGd4YGxF0yI139QlU1Hws1tqV1G4Yx25aw77pNFsWsooMQIFHU64CHp8hmmAl-usoDDxiv6cM5XDwf4soYp9VPfMk5CtqAP0iutoIDNmQkd5JcIdhFcmw7aWVLuyLW\_uy2kbyiboGmveGckFuNL-TIQlwg5hTI8cjW3UwpioUVx0Xz-R5htVaerCRbhnW1PJtDE7twb2uE-wCeKX2IYFlTdVxmXSYV7orIq5\_hBNzfyuKQRF8tWa1e1dNqT8XZd-1JbahvLID\_EsuaBDEkzsOGdqYKsze7Cwn5KR\_SMLEtVKsfOcL4fBmzKeRYcIA3LsT455B2LTtPjy7

HTTP2 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache

{
 "scope": "offline\_access",
 "token\_type": "Bearer",
 "access\_token": "CfDJ8CvICaXDq9ZOhEDDMfvIz71\_tJhRrMspWLLSht09LtLYeiGPKHBFy3GXjAbArZKIgtYJgT1BoXPzOI2vfHEtN8shpjvgFmVNpRRZ6MjqM4bocXiRnrIRo5k6wbPGItv-BCcwp8n6KRrl3zjuWCiVAESbqh1VipI4HPb99PrgKushTMrytIijF-SjTAmwI5jnizMWM4UahYW0OGkkqhep1ySCeILBB-r2sjs1YuuyDdvgkWeaoLqJmcrP7VkUTsX1tfIf9\_7u6CGBLhvn5ZRsyV9kW9gi24OcdXq5Wp5il4rHGclt9JSuAUpZyzbosfzYApgRNvhErJ\_-C2VSFL63gl\_kPg7CbfGZphOLDQh-GsNomMuWLCw2s5az5BvxpIg2FUZqpadFObIb90mLBNxQl-Nn8BN8g4dXn4elXREXCrcN1j1h2mldpB6rP6N2W-pPS2gaz6qN4svDghBH0DckOj3GshA85yqQwZhYhKrwx8-O\_167dEhJZxWQ14hlxllG4e3LDgHsQfcPTfD63klkwgc",
 "expires\_in": 3600,
 "refresh\_token": "CfDJ8CvICaXDq9ZOhEDDMfvIz73OIChE4tuae9LfsM5\_0aX8ATs3-paFYvdM7shb5av4wLUZX-fJdhchN7vt2nRhQJRUbRGfKpu6-ksCqBh5fS6PHT3z2ZJ9k27ozmv9uwWYgDIXoL2oeV8afclGqk\_qna4JFOcVCe9mMNfL8XbaxybWp9-U1mwIvX6zaf-yfwHQIzd6ctZyGGjUd4lphZ\_rahEG4pYq5woqPu7aQV\_NaZhpN3tr--ZhRqPDnZBna2mVAfuLd7ZuKct0xwrp9hRmATbE5VYspgn3\_XXY0pUA7qZwImqUZD3dvgSViroKVrIPvLKWUbJSAdxqHC8ePbTgGoYvr0ms31bzp4GYZQwAh6D3yr\_Oqo2oNPg3KbVYblroRquVEkm5aqGCwPgrJ0LeiR\_xbPkmA0UGquGr7FrHg7IU4sa-C5DzqkGjlP4dCW3FL0DqgTR0BLJGyosnA9sjfeOqu\_DC626JdwcXOoNdS-XEF1WQGefoOAsQbdP0u1tW5p\_1n7a-rDY0Nu3MGVbDc2dXLb00kDUVGd4YGxF0yI139QlU1Hws1tqV1G4Yx25aw77pNFsWsooMQIFHU64CHp8hmmAl-usoDDxiv6cM5XDwf4soYp9VPfMk5CtqAP0iutoIDNmQkd5JcIdhFcmw7aWVLuyLW\_uy2kbyiboGmveGckFuNL-TIQlwg5hTI8cjW3UwpioUVx0Xz-R5htVaerCRbhnW1PJtDE7twb2uE-wCeKX2IYFlTdVxmXSYV7orIq5\_hBNzfyuKQRF8tWa1e1dNqT8XZd-1JbahvLID\_EsuaBDEkzsOGdqYKsze7Cwn5KR\_SMLEtVKsfOcL4fBmzKeRYcIA3LsT455B2LTtPjy7"
}