機械翻訳について

デバイス・コードおよびユーザー・コードの生成(OAuthデバイス・フロー)

post

/oauth2/v1/device

リクエスト

サポートされているメディア・タイプ
本文()
ルート・スキーマ: schema
型: object
ソースを表示
  • クライアントの一意のID
    例: a5bf5db7f6c43b47b1eae399c68319c4
  • サーバーからのレスポンスのタイプ(device_code)
    例: device_code
  • デバイス・コードおよびユーザー・コードがリクエストされるスコープ。
    例: http://abccorp.com/quote
先頭に戻る

レスポンス

サポートされているメディア・タイプ

200レスポンス

生成されたデバイス・コードおよびユーザー・コード
本文()
ルート・スキーマ: device
型: object
生成されたデバイスコードおよびユーザーコード(OAuthデバイス・フロー)
ソースを表示
  • アクセス・トークンの取得に使用されるデバイス・コード
  • デバイス・コードおよびユーザー・コードの有効期限(秒)
  • OAuthデバイス・フローを承認するためにユーザーが使用するユーザー・コード。
  • ユーザーがユーザー・コードを認証および承認する検証URI。

400レスポンス

無効なリクエスト
本文()
ルート・スキーマ : error
型: object
更新トークンの破棄中に表示されるエラー・メッセージ
ソースを表示

401レスポンス

認可されていないクライアント
本文()
ルート・スキーマ : error
型: object
更新トークンの破棄中に表示されるエラー・メッセージ
ソースを表示
先頭に戻る

デバイス・コード権限付与タイプ・フローを使用してデバイス・コードをリクエストし、アクセス・トークンを取得してユーザーがリソースにアクセスできるようにするには、いくつかのステップが必要です。 デバイス・フローは、デジタル画像フレーム、ゲーム・コンソール、ストリーミング・メディア・プレーヤ(たとえば、Roku)など、データの入力方法が簡単でないデバイスでOAuth 2.0クライアントが実行され、クライアントが認可サーバーからの受信リクエストを受信できない場合に適しています。

クライアントは、ユーザーのストリーミング・メディア・プレーヤまたはデジタル画像フレームと対話するかわりに、別のコンピュータまたはデバイス(デスクトップ・コンピュータ、スマートフォンまたはタブレット)を使用して、認可サーバーに接続し、アクセス・リクエストを承認するようにユーザーに指示します。 クライアントは受信リクエストを受信できないため、ユーザーが承認プロセスを完了するまで認可サーバーを繰り返しポーリングします。

次の例では、cURLを使用してRESTリソースに対するPOSTリクエストを発行することによって、デバイス・コードを取得してから、アクセス・トークンを取得する方法を示しています。 cURLの詳細は、「cURLの使用」を参照してください。 「許可のタイプ」の詳細については、「承認の管理」セクションを参照してください。

ノート:

アクセス・トークンで許可される一連のリソースおよび操作を具体的に定義するための、様々なスコープの使用方法の詳細は、「スコープ」を参照してください。

ノート:

これらの例のコマンドでは、URL構造https://tenant-base-url/resource-pathを使用しており、tenant-base-urlはアイデンティティ・サービスURLを示し、リソース・パスはアイデンティティ・サービスAPIを示しています。 使用する適切なURL構造の詳細は、「リクエストの送信」を参照してください。

デバイス・コードの取得

デバイス・コードを取得するリクエストと返されるレスポンスの例を次に示します:

リクエストの例

デバイス・クライアントは、認証されていないコールを/oauth2/v1/deviceエンドポイントに対して実行します:

curl -i -k
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8'
--request POST 'https://tenant-base-url/oauth2/v1/device' -d 'response_type=device_code&scope=http://tenant-base-url/quotes&client_id=<client-id>' 

レスポンスの例

{
  "expires_in": 300,
  "device_code": "4d03f7bc-f7a5-4795-819a-5748c4801d35",
  "user_code": "SDFGHJKL",
  "verification_uri": "http://tenant-base-url/ui/v1/device"
  }

デバイス・コード権限付与タイプのリクエストとレスポンスの例

ユーザーがクライアントのリクエストを認可(または拒否)している間、クライアントはトークン・エンドポイント(oauth2/v1/token)で認可サーバーを繰り返しポーリングして、ユーザーの認可ステップが完了したかどうかを確認します。 クライアントは、リクエストに検証コードとそのクライアント識別子を含めます。

先頭に戻る