Authorization - TakayukiHoshi1984/DeviceConnect-Spec GitHub Wiki

概要

Local OAuthのクライアントを操作する機能を提供するAPI。

目次

API 概要
GET /gotapi/authorization/accessToken DeviceConnectManagerにLocal OAuthを行うためのアクセストークンの作成要求を行う。
GET /gotapi/authorization/grant Device Connect ManagerにLocal OAuthを行うためのクライアントの作成要求を行う。

種別

one-shot

概要

DeviceConnectManagerにLocal OAuthを行うためのアクセストークンの作成要求を行う。

各プロファイルにアクセスするためには、このAPIで作成したアクセストークンが必要になる。
また、アクセストークンには有効期限が存在するので、 有効期限が切れた場合には再度アクセストークンを作成し直す必要がある。

リクエスト

物理名 データ型 必須 説明
clientId string Yes クライアントID。 Authorization Create Client APIで取得したclientIdを使用する。
applicationName string Yes アプリケーション名。承認確認画面に表示するアプリケーション名を指定する。
例:「Twitterイベントプラグイン」と指定した場合は、 「TwitterイベントプラグインがdConnectにアクセスする許可をしますか?」と 確認メッセージが表示される。
scope array(string) Yes スコープ。使用するプロファイルの一覧をカンマ区切りで定義する。
例)file,notification,vibration'

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0: 正常応答
0以外: 異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。
アクセストークン accessToken string Yes 各プロファイルにアクセスする場合に必要になる。
失効日時 expire float Yes スコープ毎のアクセストークンの失効時刻のうち、直近の時刻(UNIX時間)。
スコープ配列 scopes array(object) Yes スコープの有効期限一覧を格納する配列。
スコープ scope string Yes スコープのプロファイル名。
スコープの有効期限 expirePeriod float Yes アクセストークンの有効期限。スコープ毎に設定されている。
アクセストークンが作成されてから使用できる間の時間(秒)を返す。
この時間を過ぎるとアクセストークンが使用できなくなる。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0",
  "accessToken" : "0a93ac0aade4e046ed63eb24d1172f5f35c88ca60daa901547c28d5827cb418a5de1d7c5f9e62405",
  "scopes" : [ {
    "scope" : "file",
    "expirePeriod" : 15552000
  }, {
    "scope" : "creditcard",
    "expirePeriod" : 0
  } ],
  "expire" : 1431856940275
}

種別

one-shot

概要

Device Connect ManagerにLocal OAuthを行うためのクライアントの作成要求を行う。

同じオリジンから送信された場合には、以前のクライアントを削除して新たにクライアントを作成する。
それに伴い、クライアントに紐づいていたアクセストークンもすべて破棄される。

リクエスト

物理名 データ型 必須 説明

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0: 正常応答
0以外: 異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。 アプリケーション側から事前にHMACキーを共有されていた場合は必須。
クライアントID clientId string Yes クライアントを識別するためのID。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0",
  "clientId" : "d94da8f1-3826-4ed5-a729-2d9499e842c9"
}
⚠️ **GitHub.com Fallback** ⚠️