カールを使用してoAuth 2.0を使用してWindows Azure ADテナントアプリケーションで認証プロセスを呼び出そうとしています。しかし、以下のサンプルコードのパラメーター "resource"が何であるか理解できませんでした:
curl -X POST https://login.windows.net/<<YOUR--AD-TENANT-ID>>/oauth2/token \
-F redirect_uri=http://google.com \
-F grant_type=authorization_code \
**-F resource=https://management.core.windows.net/ \**
-F client_id=87a544fd-... \
-F code=AwABAAAAvPM1...8sSAA
リソースパラメータは、クライアントがユーザーに代わってアクセスしたいWebAPIの識別子を示します。 OAuthのほとんどのフローには、リソース所有者(別名ユーザー)、クライアント(別名アプリ)、権限(別名IDプロバイダー)およびリソース(別名webapi)の4つのパーティが含まれます。権限が生成するアクセストークンはリソース識別子です。
Azure ADの場合、リソースWebAPIのクライアントIDまたはアプリID URIを使用できます(Azure管理ポータルのAzure ADアプリケーションの[構成]タブでそれらを見つけます)。たとえば、クライアントがユーザーに代わってAzure AD Graph APIにアクセスするためのトークンを取得するようにしたい場合は、リソース " https://graph.windows.net のトークンを要求します。 」この例では、リソースパラメーター値はAzure Service ManagementAPIを識別します。
以下は、Azure AD SDKを使用してWebAPIへのトークンをリクエストするクライアントアプリのコードサンプルです。リソースパラメータのさまざまな使用方法です。
お役に立てれば。
簡単に言うと、リソースパラメータには、アクセスしたいWeb APIリソースのURIが含まれています。
OAuthプロトコルは、トークンベースのリソースへのアクセスに従います。パラメータ「resource」は、異なるWEBAPIのトークンを区別するのに役立ちます。
たとえば、GRAPH APIにアクセスする場合、リソースは次のようになります-" https://graph.windows.net/ "
Azureにアクセスする場合は、resourceパラメーターを-" http://management.Azure.com "として指定する必要があります。
必須ではありませんが、このパラメーターを使用することをお勧めします。