1. 認証

OAuthトークン

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

OAuthは、あるアプリケーションがアカウント所有者またはエンドユーザーに代わって別のアプリケーションに変更を加えることを承認できるようにする 、認証のオープンスタンダード です。アクセス トークンは、アプリケーションが限られた期間、ユーザー データにアクセスする権限を付与するために使用されます。更新トークンは、再度認証を必要とせずに新しいアクセス トークンを取得するために使用され、セッションの有効性が拡張されます。

クライアント

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

プロパティ

形容

M.OAuthClient.ClientName

アプリケーションの認証を求めるときにシステムによって表示されるわかりやすい名前。

M.OAuthClient.ClientId

クライアントの一意の識別子。

M.OAuthClient.ClientSecret

認証サーバーが、要求で指定されたクライアントシークレットとクライアントエンティティで指定されたクライアントシークレットを比較して要求を検証するために使用する印刷可能な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応答を受け取ります。有効な更新トークンがある場合は、それを使用して、エンド ユーザーの参加を必要とせずに、更新トークンの付与を通じて新しいアクセス トークンと更新トークンを生成できます。それ以外の場合は、別のグラントを使用して新しいアクセストークンと更新トークンを取得する必要があります。

トークンの有効期間は、M.Defaults.Jsonを使用して再構成できます。トークンの構成は次のとおりです。

    "oAuth": {
        "accessTokenLifetime": "01:00:00",
        "refreshTokenLifetime": "90.00:00:00"
    }

助成金の流れ

Sitecore Content Hub OAuth 2実装は、次のRFC-6749許可フローをサポートしています。

  • 認証コード

  • リソース所有者のパスワード資格情報

  • リフレッシュ・トークン

認証コード付与

次の情報が必要です。

財産

値の例

クライアントID

M.OAuthClient実体

MyApplicationId

クライアントシークレット

M.OAuthClient実体

MyApplicationSecret

リダイレクトURL

M.OAuthClient実体

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実体

MyApplicationId

クライアントシークレット

M.OAuthClient実体

MyApplicationSecret

ユーザー名

利用者

Administrator

パスワード

利用者

admin

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実体

MyApplicationId

クライアントシークレット

M.OAuthClient実体

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"
}
この記事を改善するための提案がある場合は、 お知らせください!