OAuth 2.0トークン
Workatoでは、API platformユーザーがOAuth 2.0 (Client Credentials grant) に基づいて認証できます。静的トークンの代わりに、クライアントはOAuth 2.0フローを通じて取得したアクセストークンでAPIリクエストを行います。ユーザーはまずWorkatoのトークンリクエストエンドポイントからアクセストークンを取得し、その後、そのアクセストークンを使用してWorkato APIエンドポイントへのAPIコールを行うことができます。
OAuth 2.0を設定する
Create a new API client, or select an existing API client.
認証方法としてOAuth 2.0を選択します。
OAuth 2.0 Authentication method
Create a new API key for the client. Workato displays the Client ID and Client Secret credentials when you generate the key. Copy and save both values.
OAuth 2.0 Credentials
VIRTUAL PRIVATE WORKATO (VPW)のお客様
この機能を使用するには、お使いのVirtual Private Workato(VPW)インスタンスに固有の設定手順が必要です。 VPWをご利用のお客様は、インスタンスの設定詳細について、VPWのプライベートドキュメントを参照してください。
アクセストークンをリクエストする
| パラメーター | 説明 |
|---|---|
grant_type | 必須。トークンリクエストを認可するためのメカニズム。 client_credentialsである必要があります。 |
client_id | 必須。 APIキーを作成したときに取得したClient ID。 |
client_secret | 必須。 APIキーを作成したときに取得したClient Secret。 |
WorkatoトークンリクエストエンドポイントにPOSTリクエストを送信します。トークンリクエストには、クライアント認証情報とgrant_typeパラメーターを含める必要があります。 RFCでは、クライアント認証情報をエンコードし、client_idとclient_secretをそれぞれユーザー名とパスワードとして使用して、Basic Authヘッダーとして送信することを推奨しています。次の例を参照してください。
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形式
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エンコードされた本文
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_credentialsMultipart form
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>
----WebKitFormBoundary7MA4YWxkTrZu0gWPostmanのようなツールを使用してアクセストークンを生成することもできます。
Postmanでアクセストークンを生成する
トークンリクエストエンドポイント
以下のトークンリクエストエンドポイントは、Workato Enterpriseおよびセルフサービス(Workato Free、Workato Pro、またはDeveloper Sandbox)データセンターで利用できます:
Workato Enterpriseのお客様
米国(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
英国(UK)
https://apim.uk.workato.com/oauth2/token
セルフサービス(Workato Free、Workato Pro、またはDeveloper Sandbox)ユーザー
- セルフサービス
https://apim.trial.workato.com/oauth2/token
カスタムドメインを有効にしているAPI platform所有者の場合、トークンリクエストエンドポイントはカスタムドメインに従います。たとえば、カスタムドメインapi.boltcompany.comの場合、トークンリクエストエンドポイントはhttps://api.boltcompany.com/oauth2/tokenです。
OAuth 2.0アクセストークンを取得する
アクセストークンリクエストが正常に送信されると、Workatoの認可サーバーは次のプロパティを含む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リクエストの実行について詳細を確認します。
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とともに取り消されます。
最終更新日: