OAuth 2.0トークン

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

Workatoでは、API platformユーザーがOAuth 2.0 (Client Credentials grant) に基づいて認証できます。 静的トークンの代わりに、クライアントはOAuth 2.0フローを通じて取得したアクセストークンでAPIリクエストを行います。 ユーザーはまずWorkatoのトークンリクエストエンドポイントからアクセストークンを取得し、その後、そのアクセストークンを使用してWorkato APIエンドポイントへのAPIコールを行うことができます。

OAuth 2.0を設定する

VIRTUAL PRIVATE WORKATO (VPW)のお客様

この機能を使用するには、お使いのVirtual Private Workato(VPW)インスタンスに固有の設定手順が必要です。 VPWをご利用のお客様は、インスタンスの設定詳細について、VPWのプライベートドキュメントを参照してください。

1

新しいアクセスプロファイルを作成します。

2

認証方法としてOAuth 2.0を選択します。

アクセスプロファイル - OAuth 2.0認証方法アクセスプロファイル - OAuth 2.0認証方法

3

アクセスプロファイルの認証情報(Client IDおよびClient Secret)をコピーします。

アクセスプロファイル - OAuth 2.0認証情報アクセスプロファイル - OAuth 2.0認証情報

アクセストークンをリクエストする

パラメーター説明
grant_type必須。 トークンリクエストを認可するためのメカニズム。 client_credentialsである必要があります。
client_id必須。 アクセスプロファイルから取得したClient ID。
client_secret必須。 アクセスプロファイルから取得したClient Secret

WorkatoトークンリクエストエンドポイントにPOSTリクエストを送信します。 トークンリクエストには、クライアント認証情報とgrant_typeパラメーターを含める必要があります。 RFCでは、クライアント認証情報をエンコードし、client_idclient_secretをそれぞれユーザー名とパスワードとして使用して、Basic Authヘッダーとして送信することを推奨しています。 次の例を参照してください。

http
POST /oauth2/token HTTP/1.1
Host: apim.workato.com
Authorization: Basic ${Base64(<CLIENT_ID>:<CLIENT_SECRET>)}
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials

その他のサポートされている形式

一部のHTTPクライアントでは、この正確な形式がサポートされていない場合があることを認識しています。 Workatoは次の代替形式をサポートしています。

CONTENT-TYPEの一貫性

Content-Typeヘッダーは必須であり、ペイロード形式と一致している必要があります。 一致していない場合、リクエストは拒否されます。

JSON形式

http
POST /oauth2/token HTTP/1.1
Host: apim.workato.com
Content-Type: application/json

{
  "grant_type": "client_credentials",
  "client_id": "<CLIENT_ID>",
  "client_secret": "<CLIENT_SECRET>"
}

URLエンコードされた本文

http
POST /oauth2/token HTTP/1.1
Host: apim.workato.com
Content-Type: application/x-www-form-urlencoded

client_secret=<CLIENT_SECRET>&client_id=<CLIENT_ID>&grant_type=client_credentials

Multipart form

http
POST /oauth2/token HTTP/1.1
Host: apim.workato.com
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="grant_type"

client_credentials
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="client_id"

<CLIENT_ID>
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="client_secret"

<CLIENT_SECRET>
----WebKitFormBoundary7MA4YWxkTrZu0gW

Postmanのようなツールを使用してアクセストークンを生成することもできます。

PostmanでアクセストークンをリクエストするPostmanでアクセストークンを生成する

トークンリクエストエンドポイント

Workatoのデータセンターについては、次のトークンリクエストエンドポイントを参照してください。

  • 米国(US)

  • https://apim.workato.com/oauth2/token

  • 欧州連合(EU)

  • https://apim.eu.workato.com/oauth2/token

  • 日本(JP)

  • https://apim.jp.workato.com/oauth2/token

  • シンガポール(SG)

  • https://apim.sg.workato.com/oauth2/token

  • オーストラリア(AU)

  • https://apim.au.workato.com/oauth2/token

  • イスラエル(IL)

  • https://apim.il.workato.com/oauth2/token

  • 中国(CN)

  • https://apim.workatoapp.cn/oauth2/token

  • 韓国(KR)

  • https://apim.kr.workato.com/oauth2/token

  • 開発者サンドボックス

  • https://apim.trial.workato.com/oauth2/token

カスタムドメインを有効にしているAPI platform所有者の場合、トークンリクエストエンドポイントはカスタムドメインに従います。 たとえば、カスタムドメインapi.boltcompany.comの場合、トークンリクエストエンドポイントはhttps://api.boltcompany.com/oauth2/tokenです。

OAuth 2.0アクセストークンを取得する

アクセストークンリクエストが正常に送信されると、Workatoの認可サーバーは次のプロパティを含むJSONオブジェクトで応答します。

json
{
    "access_token": "eyJhbGciOiJIUzI1NiIsImtpZCI6ImFlZTM5NGExZTZiOGZmY2VhZGZhZmRhZDk4ZTJjZTdhNDE0YmU3NWU2ODcyNmNkOTQ3YjBjMmU3OTI1MTUzNGQiLCJ0eXAiOiJKV1QifQ.eyJzdWIiOiJhZWUzOTRhMWU2YjhmZmNlYWRmYWZkYWQ5OGUyY2U3YTQxNGJlNzVlNjg3MjZjZDk0N2IwYzJlNzkyNTE1MzRkIiwiZXhwIjoxNjQ5MzAzMDM4LCJuYmYiOjE2NDkyOTk0MzgsImlhdCI6MTY0OTI5OTQzOH0.TJySFOomyLkvyQHbvQBtm6qGj0bLDqSuUBqbkTSbXm4",
    "token_type": "bearer",
    "expires_in": 3600
}

有効期限

アクセストークンは3600秒間有効です。 その後、トークンは期限切れとなり、使用できなくなります。 APIリクエストを継続して行うには、クライアントで新しいアクセストークンを生成する必要があります。

/oauth2/tokenへの各リクエストによって、独立した有効期限を持つ新しいアクセストークンが生成されます。

APIリクエストでOAuth 2.0アクセストークンを使用する

OAuth 2.0アクセストークンを使用して、Workato APIエンドポイントへのAPIコールを行います。

取得したアクセストークンを認可ヘッダーで指定し、ベアラー認証スキームを使用します。 APIリクエストの実行について詳細を確認します。

shell
curl -XGET 'https://apim.workato.com/prefix/collection/endpoint/call?email=john-doe%40acme.com'\
-H 'Authorization: Bearer <ACCESS_TOKEN>'

クライアント認証情報を更新する

Client Secretは更新できます。 セキュリティ体制を強化するために、これを定期的に実行することをお勧めします。 当然ながら、更新後は古いClient Secretは機能しなくなります。 さらに、以前に生成されたアクセストークンは、Client Secretとともに取り消されます。

Last updated: