VonageビジネスコミュニケーションAPIへの認証
一旦 アプリケーションの作成そして Provisioning API にサブスクライブした アクセストークンを作成する準備ができました。VonageビジネスコミュニケーションAPIは以下を使用します。 OAuth 認証のため。
認証キーの作成
にログインする。 ビジネス・コミュニケーション・デベロッパー・ポータル 開発者認証情報を使用してください。
選択 Applications をクリックしてください。
について アプリケーション ページで、テーブルからアプリケーションを探し、アプリケーションをクリックします。 名称 リンク
を選択する。 プロダクション・キー 左のナビゲーションメニューにある

注:デフォルトのグラントタイプは
Password.その グラントタイプ は、OAuth がアクセストークンを生成する際に使用するメソッドです。本番アプリケーションを作成する場合、通常はCodeメソッドを使ってリクエストを認証する。リクエストのRefresh Tokenオプションは、現在のトークンの有効期限が切れたときに新しいトークンを作成します。もし
Codeを選択する。 コールバックURL フィールドに、生成されたコードを受け取るためにアプリケーションが使用する有効なコールバックURLを入力します。まだアプリケーションを作成していない場合は、次のように入力します。http://localhostテストする準備ができたら、正しいURLを入力してください。注意: アプリケーションでパスワード・グラント・タイプを使用する場合は、認証コード・フローを使用する場合のように、トークンを取得するためにコールバックURLを使用する必要はありません。パスワードグラントを使用する場合は、空白のままにしておくことができます。
をクリックする。 鍵の生成 ボタンをクリックする。これにより コンシューマー・キー そして 消費者の秘密 アプリケーションがトークンを要求する際に使用します。
補助金の種類
Vonage Business Communications は、アクセストークンを生成するために以下のグラントタイプをサポートしています。
- 認証コード - 認証コード付与タイプは、機密クライアントおよびパブリッククライアントがアクセストークンと認証コードを交換するために使用します。ユーザーがリダイレクトURL経由でクライアントに戻った後、アプリケーションはURLから認可コードを取得し、それを使ってアクセストークンを要求します。
- パスワード付与 - パスワード付与タイプは、ユーザーの認証情報をアクセストークンと交換する方法です。
パスワード付与タイプをいつ使うか?
パスワード付与タイプでは、アプリケーションがユーザーのパスワードを収集する必要があります。パスワード付与タイプは、ユーザー資格情報の収集が不要なサーバー間アプリケーションを有効にする場合にのみ使用することをお勧めします。
- を見てみよう。 エンドポイントの例 そして アクセストークンの生成 のサンプルを参照して、認証コードを要求し、アクセストークンと交換する方法を学んでください:
本番環境では 認証コード グラント・タイプ (Codeの「マイ・アプリケーション」タブに表示される唯一のオプションです。 apimanager.uc.vonage.com.その Code グラントタイプでは、アプリケーションに有効なコールバック URL を実装して、Vonage サーバから認証コードを取得し、トークンと交換する必要があります。認可リクエストとトークン・リクエストの作成方法については、My Applications タブの Endpoint examples を参照してください。
認証コード付与による認証
警告だ: SSOは現在サポートされていません
次の例は、authorize エンド・ポイントを介して authorization_code を取得する方法を示しています。
REDIRECT_URI- 認証後にユーザーをリダイレクトするURL。CONSUMER_KEY- 上記ステップ5で生成したコンシューマー・キー
次の例は、トークン・エンド・ポイントを介して認証コードとトークンを交換する方法を示しています。
AUTHORIZATION_CODE- によって受信されたコード。redirect_uriログイン成功後REDIRECT_URI- 認証コード交換後にユーザーをリダイレクトするURL。AUTHORIZATION- アプリケーション認証情報をBase64エンコードしたトークン。$CONSUMER_KEY:$CONSUMER_SECRET.
トークンを交換すると、次のようなJSONレスポンスが返されます。 access_token が埋め込まれています。Account API、Extension API、User APIを使用するには、このトークンが必要です:
{
"access_token":"xyz123eyJ4NQiOiJNemcxTnpZeU5UTXhPR1kxTlRNMU1HUTBPR1ZsTVRnM05XRXlZamRpWVdRNE1XSTFemhrWmciLCJraWQiOiJNemcxTnpZeU5UTXhPR1kxTlRNMU1HUTBPR1ZsTVRnM05XRXlZamRpWVdRNE1XSTFNemhrWmciLCJhbGciOiJSUzI1NiJ9..gs7JO2RLPFIld7NXM9gnOy9CYaLs_EYXJJilxX76MFBiidoiG9sIW4RkeHLvDVLyFP1eVd_Pt7000wAr13mcXn-6x6D9oJeAH_Iz8nbzd3vmWDZ8VMHf1SueiAaChfvH0yLvwu02sp-QU-tljGYBTJ8Pr1jWQIG-o39XRrBSMis",
"refresh_token":"dde2a67f-d99f-3f03-810b-1fcae59245de",
"scope":"default",
"token_type":"Bearer",
"expires_in":86400
}
パスワード付与による認証
VBC APIドキュメントのすべてのコード・スニペットでは パスワード付与タイプ の代わりに authorization_code を使って簡単に実行できる。このグラント・タイプでは、コールバックURLを実装する必要はありません。代わりに、VBCのユーザー名とパスワードを入力してトークンをリクエストします。
例中の以下のプレースホルダーを独自の値に置き換えてください:
VBC_USERNAME- Vonageビジネスコミュニケーションズのユーザー名VBC_PASSWORD- VonageビジネスコミュニケーションのパスワードCONSUMER_KEY- 上記ステップ5で生成したコンシューマー・キーCONSUMER_SECRET- 上記のステップ5で作成した消費者秘密
注: パスワード・グラントを使用する場合は、次のように追加する必要があります。 @vbc.prod をユーザー名に追加してください。
警告だ: トークンリクエストには、VBC Developerアカウントの認証情報(*.api)を使用しないでください。トークンのリクエストには、VBC User の認証情報を使う必要があります。 VBC_USERNAME そして VBC_PASSWORD.
これを実行すると、次のようなJSONレスポンスが返されます。 access_token が埋め込まれています。Account API、Extension API、User APIを使用するには、このトークンが必要です:
{
"access_token": "xyz123eyJ4NQiOiJNemcxTnpZeU5UTXhPR1kxTlRNMU1HUTBPR1ZsTVRnM05XRXlZamRpWVdRNE1XSTFemhrWmciLCJraWQiOiJNemcxTnpZeU5UTXhPR1kxTlRNMU1HUTBPR1ZsTVRnM05XRXlZamRpWVdRNE1XSTFNemhrWmciLCJhbGciOiJSUzI1NiJ9..gs7JO2RLPFIld7NXM9gnOy9CYaLs_EYXJJilxX76MFBiidoiG9sIW4RkeHLvDVLyFP1eVd_Pt7000wAr13mcXn-6x6D9oJeAH_Iz8nbzd3vmWDZ8VMHf1SueiAaChfvH0yLvwu02sp-QU-tljGYBTJ8Pr1jWQIG-o39XRrBSMis",
"refresh_token": "abc123-5903-3513-8d27-333daf581837",
"scope": "openid",
"id_token": "abc123eyJ4NQiOiJNemcxTnpZeU5UTXhPR1kxTlRNMU1HUTBPR1ZsTVRnM05XRXlZamRpWVdRNE1XSTFemhrWmciLCJraWQiOiJNemcxTnpZeU5UTXhPR1kxTlRNMU1HUTBPR1ZsTVRnM05XRXlZamRpWVdRNE1XSTFNemhrWmciLCJhbGciOiJSUzI1NiJ9..gs7JO2RLPFIld7NXM9gnOy9CYaLs_EYXJJilxX76MFBiidoiG9sIW4RkeHLvDVLyFP1eVd_Pt7000wAr13mcXn-6x6D9oJeAH_Iz8nbzd3vmWDZ8VMHf1SueiAaChfvH0yLvwu02sp-QU-tljGYBTJ8Pr1jWQIG-o39XRrBSMis",
"token_type": "Bearer",
"expires_in": 82566
}
トークンの有効期限
- アクセス・トークン - アクセストークンの有効期限は24時間(86400秒)です。アクセストークンの有効期限が切れた後、新しいアクセストークンを要求するには、リフレッシュトークンとリフレッシュグラントタイプを使用する必要があります。
- リフレッシュ・トークン - リフレッシュ・トークンの有効期限は7日間(604800秒)です。アクセストークンとリフレッシュトークンを交換した後、リフレッシュトークンは使用できなくなり、新しいリフレッシュトークンが提供されます。有効期限内にリフレッシュトークンを使用しなかった場合は、再認証が必要となります。
リフレッシュ・トークンの使用
アクセストークンの有効期限が切れた場合は、リフレッシュトークンを使用して新しいアクセストークンを生成する必要があります。リフレッシュ・トークンは、最初に /token エンドポイントである。
アクセストークンを再生成する:
例中の以下のプレースホルダーを独自の値に置き換えてください:
VBC_CLIENT_ID- 開発者アプリケーションのクライアントIDVBC_CLIENT_SECRET- 開発者アプリケーションからの秘密REFRESH_TOKEN- アクセストークンを取得するための最初のリクエストのリフレッシュトークン。
これは新しいアクセストークンとリフレッシュトークンを返します。
{
"access_token": "xyz123eyJ4NQiOiJNemcxTnpZeU5UTXhPR1kxTlRNMU1HUTBPR1ZsTVRnM05XRXlZamRpWVdRNE1XSTFemhrWmciLCJraWQiOiJNemcxTnpZeU5UTXhPR1kxTlRNMU1HUTBPR1ZsTVRnM05XRXlZamRpWVdRNE1XSTFNemhrWmciLCJhbGciOiJSUzI1NiJ9..gs7JO2RLPFIld7NXM9gnOy9CYaLs_EYXJJilxX76MFBiidoiG9sIW4RkeHLvDVLyFP1eVd_Pt7000wAr13mcXn-6x6D9oJeAH_Iz8nbzd3vmWDZ8VMHf1SueiAaChfvH0yLvwu02sp-QU-tljGYBTJ8Pr1jWQIG-o39XRrBSMis",
"refresh_token": "abc123-5903-3513-8d27-333daf581837",
"scope": "openid",
"id_token": "abc123eyJ4NXQiOiJNemcxTnpZeU5UTXhPR1kxTlRNMU1HUTBPR1ZsTVRnM05XRXlZamRpWVdRNE1XSTFNemhrWmciLCJraWQiOiJNemcxTnpZeU5UTXhPR1kxTlRNMU1HUTBPR1ZsTVRnM05XRXlZamRpWVdRNE1XSTFNemhrWmciLCJhbGciOiJSUzI1NiJ9..kpFXRg4qSW9sntliysg-3EGO8KwZ8Vk5jGvOwqq0gJEyPQHL5BQKKrF799VL6Z9OJfCne564N42UWnrQqUmNyU0q8l0td1E3zPA0L5iQQEbaVsbxRf5NCZUwYY9Pb7bXjINCiGF4Xy7wCw2SRpv9iQvg3G68qI5Z8f_25QmxSTY",
"token_type": "Bearer",
"expires_in": 86400
}
それ以降のすべてのAPIリクエストには、このアクセストークンを使用する必要があります。このアクセストークンの有効期限が切れた場合は、最新のリフレッシュトークンを使用して新しいアクセストークンを生成する必要があります。
次のステップ
これでアクセストークンの作成は完了です。 APIリクエストを行う.