OAuth2を使用したトークン処理
/api/o/
このページは、認可、トークンのリフレッシュおよび取消しに使用されるOAuth 2ユーティリティ・エンドポイントを示しています。 /api/o/authorize/
以外のエンドポイントはブラウザで使用することが想定されておらず、HTTP GETをサポートしていません。 ここでのエンドポイントはOAuth2のRFC仕様に厳密に準拠しているため、これを詳細な参考資料としてお使いください。 例のAWXネットの場所のデフォルトはhttp://localhost:8013
です。
認可コード付与タイプを使用したアプリケーションのトークンの作成
付与タイプがauthorization-code
のAuthCodeAppというアプリケーションの場合、クライアント・アプリケーションから、ユーザーは次を指定して認可エンドポイントにGETを実行します
response_type
client_id
redirect_uris
scope
AWXは、アプリケーションに指定されているredirect_uriに対して、認可code
およびstate
を返して応答します。 次に、クライアント・アプリケーションは、次のものを指定してAWXのapi/o/token/
エンドポイントにPOSTを実行します
code
client_id
client_secret
grant_type
redirect_uri
AWXは、access_token
、token_type
、refresh_token
およびexpires_in
を返して応答します。 このフローのテストの詳細は、django-oauth-toolkitを参照してください。
パスワード付与タイプを使用したアプリケーションのトークンの作成
password
付与タイプにはログインが不要であるため、単純なcurl
を使用して、次のものを指定して/api/o/token/
を介して個人アクセス・トークンを取得できます
grant_type
: passwordである必要がありますusername
password
client_id
: 関連アプリケーションのgrant_typeはpasswordである必要がありますclient_secret
たとえば:
curl -X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password&username=<username>&password=<password>&scope=read" \
-u "gwSPoasWSdNkMDtBN3Hu2WYQpPWCO9SwUEsKK22l:fI6ZpfocHYBGfm1tP92r0yIgCyfRdDQt0Tos9L8a4fNsJjQQMwp9569e
IaUBsaVDgt2eiwOGe0bg5m5vCSstClZmtdy359RVx2rQK5YlIWyPlrolpt2LEpVeKXWaiybo" \
http://localhost:8013/api/o/token/ -i
前述のPOSTリクエストでは、パラメータusername
とpassword
は、基礎となるアプリケーションの関連するAWXユーザーのユーザー名とパスワードで、認証情報の形式は<client_id>:<client_secret>
です。client_id
およびclient_secret
は、基礎となるアプリケーションの対応するフィールドです。
成功すると、アクセス・トークン、リフレッシュ・トークンおよびその他の情報がJSONのレスポンス本文に設定されます
リクエスト
この操作にはリクエスト・パラメータはありません。
先頭に戻る