OAuth API 要求パラメーター
アクセストークン要求が使用する OAuth API 要求パラメーターについて説明します。
注:
OAuth API のコンテンツタイプは application/x-www-form-urlencoded である必要があります。コンテンツタイプが application/json の場合、詳細不明のエラーが発生します。
| 要求パラメーター | 説明 |
|---|---|
| grant_type | [必須] アクセストークンの要求を許可する認証情報のタイプ。このパラメーターは、次のいずれかの値でなければなりません。
|
| client_id | [必須] アクセストークンを要求するクライアントアプリケーションに対して自動的に生成される一意の ID |
| client_secret | [必須] インスタンスと OAuth アプリケーションが相互の通信を許可するために使用する共有シークレット文字列 |
| ユーザー名 | アクセストークン要求を許可するユーザーアカウント名。このパラメーターは、password の grant_type を使用したアクセストークン要求に必要です。 |
| パスワード | アクセストークン要求を許可するユーザーアカウントのパスワード。このパラメーターは、password の grant_type を使用したアクセストークン要求に必要です。 |
| refresh_token | アクセストークン要求を許可する既存のリフレッシュトークン。このパラメーターは、grant_type の refresh_token を使用したアクセストークン要求に必要です。 |
ユーザー認証情報を使用した要求
インスタンスでは、最初にクライアントを許可するとき、または新しいリフレッシュトークンの作成を許可するときに、ユーザーのログイン認証情報を提供することをクライアントに要求します。このタイプの要求は、常に次の 2 つのトークンを返します。
- アクセストークン
- リフレッシュトークン
インスタンスは、ユーザーがアクティブであり、現在ロックアウトされておらず、インタラクティブセッションがあることを確認します。これらの条件のいずれかが false の場合、インスタンスはアクセストークンを生成しません。アクセストークンの有効期限内に行われたアクセス要求は、常に現在のアクセストークンを返します。
注:
このタイプの認証権限許可は、送信中にユーザー認証情報を保護するために TLS 暗号化に依存しています。
次の例は、一連のユーザー認証情報を使用してアクセストークンを要求する方法を示しています (読みやすくするためにスペースが追加されています)。
$ curl -d"grant_type=password&client_id=be3aeb583ace210011c15b24a43e25d8
&client_secret=client_password
&username=admin&password=admin"
https://instancename.service-now.com/oauth_token.doリフレッシュトークンを使用した要求
インスタンスは、既存のリフレッシュトークンを使用して新しいアクセストークンを作成できます。このタイプの要求は、アクセストークンのみを返します。インスタンスは、新しいアクセストークンを生成する前に、リフレッシュトークンが期限切れになっていないことを確認します。リフレッシュトークンの有効期限内に行われたアクセス要求は、常に現在のリフレッシュトークンを返します。一般に、リフレッシュトークンを送信する方が、ユーザー認証情報を送信するよりも安全です。次の例は、既存のリフレッシュトークンを使用してアクセストークンを要求する方法を示しています (読みやすくするためにスペースが追加されています)。
$ curl -d"grant_type=refresh_token&client_id=be3aeb583ace210011c15b24a43e25d8
&client_secret=client_password
&refresh_token=w599voG89897rGVDmdp12WA681r9E5948c1CJTPi8g4HGc4NWaz62k6k1K0FMxHW40H8yOO3Hoe"
https://instancename.service-now.com/oauth_token.do