ユーザーの代わりにアクセスを取得するGet access on behalf of a user

Microsoft Graph を使用してユーザーの代理としてリソースを読み取り/書き込みするには、Azure AD からアクセス トークンを取得し、Microsoft Graph に送信する要求にトークンを添付する必要があります。アクセス トークンの取得に使用する認証フローは、開発しているアプリの種類と、OpenID Connect を使用してユーザーがアプリにサインインするかどうかによって異なります。ネイティブ アプリ、モバイル アプリ、一部の Web アプリで使用される一般的なフローの 1 つに、OAuth 2.0 認証コードの付与フローがあります。このトピックでは、このフローの使用例について説明します。To use Microsoft Graph to read and write resources on behalf of a user, your app must get an access token from Azure AD and attach the token to requests that it sends to Microsoft Graph. The exact authentication flow that you will use to get access tokens will depend on the kind of app you are developing and whether you want to use OpenID Connect to sign the user in to your app. One common flow used by native and mobile apps and also by some Web apps is the OAuth 2.0 authorization code grant flow. In this topic, we will walk through an example using this flow.

認証および承認の手順Authentication and Authorization steps

OAuth 2.0 認証コードの付与フローを使用して Microsoft ID プラットフォームのエンドポイントからアクセス トークンを取得する際に必要な基本手順は次のとおりです。The basic steps required to use the OAuth 2.0 authorization code grant flow to get an access token from the Azure AD v2.0 endpoint are:

  1. Azure AD にアプリを登録する。Register your app with Azure AD.
  2. 承認を取得する。Get authorization.
  3. アクセス トークンを取得する。Get an access token.
  4. アクセス トークンを使用して Microsoft Graph を呼び出す。Call Microsoft Graph with the access token.
  5. 更新トークンを使用して新しいアクセス トークンを取得する。Use a refresh token to get a new access token.

1.アプリを登録する1. Register your app

Microsoft ID プラットフォームのエンドポイントを使用するには、Azure アプリ登録ポータルでアプリを登録する必要があります。アプリを登録するには、Microsoft アカウントのほか、職場または学校のアカウントを使用できます。To use the Azure v2.0 endpoint, you must register your app at the Microsoft App Registration Portal. You can use either a Microsoft account or a work or school account to register an app.

OAuth 2.0 認証コードの付与フローを使用するようにアプリを構成するには、アプリの登録時に次の値を保存する必要があります。To configure an app to use the OAuth 2.0 authorization code grant flow, you'll need to save the following values when registering the app:

  • アプリ登録ポータルによって割り当てられたアプリケーション ID。The Application ID assigned by the app registration portal.
  • クライアント (アプリケーション) シークレット。パスワードか、公開鍵や秘密鍵のペア (証明書) のいずれか。An Application Secret, either a password or a public/private key pair (certificate). ネイティブ アプリの場合、これは必須ではありません。This is not required for native apps.
  • Azure AD からの応答を受信するためのリダイレクト URL。A Redirect URL for your app to receive responses from Azure AD.

Azure portal でアプリを構成する手順については、「アプリを登録する」を参照してください。For steps on how to configure an app using the Microsoft App Registration Portal, see Register your app.

2. 承認を取得する2. Get authorization

多くの OpenID Connect および OAuth 2.0 フローのアクセス トークンを取得するための最初の手順は、ユーザーを Microsoft ID プラットフォームの /authorize エンドポイントにリダイレクトすることです。The first step to getting an access token for many OpenID Connect and OAuth 2.0 flows is to redirect the user to the Microsoft identity platform /authorize endpoint. Azure AD はユーザーをサインインし、アプリの要求するアクセス許可にユーザーが同意していることを確認します。Azure AD will sign the user in and ensure their consent for the permissions your app requests. 承認コードの付与フローでは、同意が得られた後、Azure AD が authorization_code をアプリに返します。アプリは、このコードを Microsoft ID プラットフォームの /token エンドポイントでアクセス トークンと引き換えることができます。In the authorization code grant flow, after consent is obtained, Azure AD will return an authorization_code to your app that it can redeem at the Microsoft identity platform /token endpoint for an access token.

承認要求Authorization request

/authorize エンドポイントへの要求例を次に示します。The following shows an example request to the /authorize endpoint.

Microsoft ID プラットフォームのエンドポイントでは、scope パラメーターによってアクセス許可が要求されます。With the Microsoft identity platform endpoint, permissions are requested using the scope parameter. この例では、要求された Microsoft Graph のアクセス許可は_User.Read_と Mail.Read です。これにより、アプリはサインインしたユーザーのプロファイルとメールを読むことができます。With the Azure AD v2.0 endpoint, permissions are requested using the parameter. In this example, the Microsoft Graph permissions requested are for User.Read and Mail.Read, which will allow the app to read the profile and mail of the signed-in user. The offlineaccess permission is requested so that the app can get a refresh token, which it can use to get a new access token when the current one expires. offline_access アクセス許可が要求されるので、アプリは更新トークンを取得できます。更新トークンは、現在のトークンが期限切れになったときに新しいアクセス トークンを取得するために使用できます。The offline_access permission is requested so that the app can get a refresh token, which it can use to get a new access token when the current one expires.

// Line breaks for legibility only

https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=code
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&response_mode=query
&scope=offline_access%20user.read%20mail.read
&state=12345
パラメーターParameter 説明Description
tenanttenant 必須出席者required 要求のパスで {tenant} 値を使用して、アプリケーションにサインインできるユーザーを制御できます。許可される値は、Microsoft のアカウントと職場または学校のアカウントの両方に common、職場または学校のアカウントのみに organizations、Microsoft のアカウントのみに consumers。また、テナント ID やドメイン名などのテナント識別子が含まれています。詳細については、プロトコルの基本情報を参照してください。The {tenant} value in the path of the request can be used to control who can sign into the application. The allowed values are common for both Microsoft accounts and work or school accounts, organizations for work or school accounts only, consumers for Microsoft accounts only, and tenant identifiers such as the tenant ID or domain name. For more detail, see protocol basics.
client_idclient_id 必須required 登録ポータルによってアプリに割り当てられたアプリケーション ID。The Application ID that the registration portal (apps.dev.microsoft.com) assigned your app.
response_typeresponse_type 必須required 認可コードのフローに code を含める必要があります。Must include code for the authorization code flow.
redirect_uriredirect_uri 推奨recommended アプリの redirect_uri。アプリが認証応答を送受信できる場所。アプリ登録ポータルに登録した redirect_uri のいずれかと正確に一致する必要があります。ただし、URL エンコードされている必要があります。ネイティブとモバイル アプリの場合は、既定値の https://login.microsoftonline.com/common/oauth2/nativeclient を使用する必要があります。The redirect_uri of your app, where authentication responses can be sent and received by your app. It must exactly match one of the redirect_uris you registered in the app registration portal, except it must be URL encoded. For native and mobile apps, you should use the default value of https://login.microsoftonline.com/common/oauth2/nativeclient.
スコープscope 必須出席者required ユーザーが同意する必要がある Microsoft Graph のアクセス許可のスペースで区切った一覧。これには OpenID スコープも含まれている場合があります。A space-separated list of the Microsoft Graph permissions that you want the user to consent to. This may also include OpenID scopes.
response_moderesponse_mode 推奨recommended 結果のトークンをアプリに送信するために使用するメソッドを指定します。query または form_post にできます。Specifies the method that should be used to send the resulting token back to your app. Can be query or form_post.
statestate 推奨recommended トークン応答でも返される要求に含まれている値。任意のコンテンツの文字列にすることができます。ランダムに生成された一意の値は、通常、クロスサイト リクエスト フォージェリ攻撃を防止するために使用されます。state は、使用していたページまたはビューなど、認証要求が発生する前の、アプリでのユーザーの状態に関する情報をエンコードするためにも使用されます。A value included in the request that will also be returned in the token response. It can be a string of any content that you wish. A randomly generated unique value is typically used for preventing cross-site request forgery attacks. The state is also used to encode information about the user's state in the app before the authentication request occurred, such as the page or view they were on.

重要:Microsoft Graph では、アプリケーションのアクセス許可と委任されたアクセス許可という 2 種類のアクセス許可を公開しています。サインインしたユーザーが実行するアプリの場合は、scope パラメーターで、委任されたアクセス許可を要求します。これらのアクセス許可は、サインインしたユーザーの権限をアプリに委任し、Microsoft Graph を呼び出したときに、サインインしたユーザーとして動作できるようにします。Microsoft Graph で使用できるアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。Important: Microsoft Graph exposes two kinds of permissions: application and delegated. For apps that run with a signed-in user, you request delegated permissions in the scope parameter. These permissions delegate the privileges of the signed-in user to your app, allowing it to act as the signed-in user when making calls to Microsoft Graph. For more detailed information about the permissions available through Microsoft Graph, see the Permissions reference.

この時点で、ユーザーは Microsoft で認証するための資格情報の入力を求められます。At this point, the user will be asked to enter their credentials to authenticate with Microsoft. v2.0 エンドポイントは、ユーザーが scope クエリ パラメーターに示されているアクセス許可に同意したことを確認します。The v2.0 endpoint will also ensure that the user has consented to the permissions indicated in the scope query parameter. ユーザーがこれらのアクセス許可のいずれかに同意していない場合と、管理者が組織内のすべてのユーザーに代わって同意していない場合は、必要なアクセス許可に同意するよう求められます。If the user has not consented to any of those permissions and if an administrator has not previously consented on behalf of all users in the organization, they will be asked to consent to the required permissions.

Microsoft アカウントの同意ダイアログの例を次に示します。Here is an example of the consent dialog presented for a Microsoft account:

Microsoft アカウントの同意ダイアログ

試してみましょう Microsoft アカウントや Azure AD の職場または学校のアカウントを所有している場合は、下のリンクをクリックして試してみてください。サインイン後、ブラウザーは https://localhost/myapp/ にリダイレクトされ、アドレスバーに code が表示されます。Try If you have a Microsoft account or an Azure AD work or school account, you can try this for yourself by clicking on the link below. After signing in, your browser should be redirected to https://localhost/myapp/ with a code in the address bar.

https://login.microsoftonline.com/common/oauth2/v2.0/authorize...

承認応答Authorization response

ユーザーがアプリがリクエストした権限に同意した場合、応答には code パラメーターに承認コードが含まれます。上記の要求に対して成功した応答の例を次に示します。要求の response_mode パラメーターが query に設定されているため、応答はリダイレクト URL のクエリ文字列で返されます。If the user consents to the permissions your app requested, the response will contain the authorization code in the code parameter. Here is an example of a successful response to the request above. Because the response_mode parameter in the request was set to query, the response is returned in the query string of the redirect URL.

GET https://localhost/myapp/?
code=M0ab92efe-b6fd-df08-87dc-2c6500a7f84d
&state=12345
パラメーターParameter 説明Description
codecode アプリが要求した authorization_code。アプリは、認証コードを使用してターゲット リソースのアクセス トークンを要求できます。authorization_code は非常に短期間であり、通常は約 10 分後に期限が切れます。The authorization_code that the app requested. The app can use the authorization code to request an access token for the target resource. Authorization_codes are very short lived, typically they expire after about 10 minutes.
statestate state パラメーターが要求に含まれている場合は、同じ値が応答に表示されます。アプリは要求と応答の state 値が同じであることを確認する必要があります。If a state parameter is included in the request, the same value should appear in the response. The app should verify that the state values in the request and response are identical.

3.トークンを取得する3. Get a token

アプリは前の手順で受け取った承認 code を使用して、/token エンドポイントに POST 要求を送信することにより、アクセス トークンを要求します。Your app uses the authorization code received in the previous step to request an access token by sending a POST request to the /token endpoint.

トークン要求Token request

// Line breaks for legibility only

POST /common/oauth2/v2.0/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&scope=user.read%20mail.read
&code=OAAABAAAAiL9Kn2Z27UubvWFPbm0gLWQJVzCTE9UkP3pSx1aXxUjq3n8b2JRLk4OxVXr...
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&grant_type=authorization_code
&client_secret=JqQX2PNo9bpM0uEihUPzyrh    // NOTE: Only required for web apps
パラメーターParameter 説明Description
tenanttenant 必須出席者required 要求のパスで {tenant} 値を使用して、アプリケーションにサインインできるユーザーを制御できます。許可される値は、Microsoft のアカウントと職場または学校のアカウントの両方に common、職場または学校のアカウントのみに organizations、Microsoft のアカウントのみに consumers。また、テナント ID やドメイン名などのテナント識別子が含まれています。詳細については、プロトコルの基本情報を参照してください。The {tenant} value in the path of the request can be used to control who can sign into the application. The allowed values are common for both Microsoft accounts and work or school accounts, organizations for work or school accounts only, consumers for Microsoft accounts only, and tenant identifiers such as the tenant ID or domain name. For more detail, see protocol basics.
client_idclient_id 必須required 登録ポータルによってアプリに割り当てられたアプリケーション ID。The Application ID that the registration portal (apps.dev.microsoft.com) assigned your app.
grant_typegrant_type 必須required 認可コードのフローの authorization_code になる必要があります。Must be authorization_code for the authorization code flow.
scopescope 必須出席者required スコープのスペースで区切られた一覧。この区間で要求されたスコープは、最初の (承認) 区間で要求されたスコープと同じか、サブセットである必要があります。この要求で指定されたスコープが複数のリソース サーバーにまたがる場合、v2.0 エンドポイントは最初のスコープで指定されたリソースのトークンを返します。A space-separated list of scopes. The scopes requested in this leg must be equivalent to or a subset of the scopes requested in the first (authorization) leg. If the scopes specified in this request span multiple resource servers, then the v2.0 endpoint will return a token for the resource specified in the first scope.
codecode 必須required フローの最初の区間で取得した authorization_code。The authorization_code that you acquired in the first leg of the flow.
redirect_uriredirect_uri 必須required authorization_code の取得に使用されたものと同じ redirect_uri 値。The same redirect_uri value that was used to acquire the authorization_code.
client_secretclient_secret Web アプリに必須。required for web apps アプリのアプリ登録ポータルで作成したアプリケーション シークレット。client_secrets はデバイスに確実に保存できないため、ネイティブ アプリでは使用しないでください。Web アプリと Web API に必須。これには、サーバー側に client_secret を安全に保存する機能があります。The application secret that you created in the app registration portal for your app. It should not be used in a native app, because client_secrets cannot be reliably stored on devices. It is required for web apps and web APIs, which have the ability to store the client_secret securely on the server side.

トークンの応答Token response

アクセス トークンはアプリに対して不透明ですが、応答には、そのアクセス トークンが scope パラメーターに適しているアクセス許可の一覧が含まれています。Although the access token is opaque to your app, the response contains a list of the permissions that the access token is good for in the scope parameter.

{
    "token_type": "Bearer",
    "scope": "user.read%20Fmail.read",
    "expires_in": 3600,
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
    "refresh_token": "AwABAAAAvPM1KaPlrEqdFSBzjqfTGAMxZGUTdM0t4B4..."
}
パラメーターParameter 説明Description
token_typetoken_type トークンの種類の値を示します。Azure AD がサポートしている種類はベアラーのみです。Indicates the token type value. The only type that Azure AD supports is Bearer
スコープscope access_token が有効な Microsoft Graph のアクセス許可のスペースで区切った一覧。A space separated list of the Microsoft Graph permissions that the access_token is valid for.
expires_inexpires_in アクセス トークンの有効期間 (秒単位)。How long the access token is valid (in seconds).
access_tokenaccess_token 要求されたアクセス トークン。アプリはこのトークンを、Microsoft Graph の呼び出しで使用できます。The requested access token. Your app can use this token to call Microsoft Graph.
refresh_tokenrefresh_token OAuth 2.0 の更新トークン。An OAuth 2.0 refresh token. アプリはこのトークンを使用して、現在のアクセス トークンの有効期限が切れた後、追加のアクセス トークンを取得します。Your app can use this token to acquire additional access tokens after the current access token expires. 更新トークンは有効期限が長く、長期間にわたってリソースへのアクセスを保持するために使用できます。Refresh tokens are long-lived, and can be used to retain access to resources for extended periods of time. 詳細については、「Azure Active Directory v2.0 トークン リファレンス」を参照してください。For more detail, refer to the v2.0 token reference.

4.アクセス トークンを使用して、Microsoft Graph を呼び出す4. Use the access token to call Microsoft Graph

アクセス トークンの取得後は、そのトークンを使用して (トークンを要求の Authorization ヘッダーに含める)、Microsoft Graph を呼び出すことができます。次の要求は、サインインしたユーザーのプロファイルを取得します。Once you have an access token, you can use it to call Microsoft Graph by including it in the Authorization header of a request. The following request gets the profile of the signed-in user.

GET https://graph.microsoft.com/v1.0/me 
Authorization: Bearer eyJ0eXAiO ... 0X2tnSQLEANnSPHY0gKcgw
Host: graph.microsoft.com

正常な応答は次のようになります (一部の応答ヘッダーは削除されています)。A successful response will look similar to this (some response headers have been removed):

HTTP/1.1 200 OK
Content-Type: application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
request-id: f45d08c0-6901-473a-90f5-7867287de97f
client-request-id: f45d08c0-6901-473a-90f5-7867287de97f
OData-Version: 4.0
Duration: 727.0022
Date: Thu, 20 Apr 2017 05:21:18 GMT
Content-Length: 407

{
    "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users/$entity",
    "id":"12345678-73a6-4952-a53a-e9916737ff7f",
    "businessPhones":[
        "+1 555555555"
    ],
    "displayName":"Chris Green",
    "givenName":"Chris",
    "jobTitle":"Software Engineer",
    "mail":null,
    "mobilePhone":"+1 5555555555",
    "officeLocation":"Seattle Office",
    "preferredLanguage":null,
    "surname":"Green",
    "userPrincipalName":"ChrisG@contoso.onmicrosoft.com"
}

5.更新トークンを使用して新しいアクセス トークンを取得する5. Use the refresh token to get a new access token

アクセス トークンの保存期間は短く、リソースへのアクセスを続行するには期限が切れた後で更新する必要があります。これは、/token エンドポイントに別の POST 要求を送信することで行うことができます。今回は、code の代わりに refresh_token を提供します。Access tokens are short lived, and you must refresh them after they expire to continue accessing resources. You can do so by submitting another POST request to the /token endpoint, this time providing the refresh_token instead of the code.

要求Request

// Line breaks for legibility only

POST /common/oauth2/v2.0/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&scope=user.read%20mail.read
&refresh_token=OAAABAAAAiL9Kn2Z27UubvWFPbm0gLWQJVzCTE9UkP3pSx1aXxUjq...
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&grant_type=refresh_token
&client_secret=JqQX2PNo9bpM0uEihUPzyrh      // NOTE: Only required for web apps
パラメーターParameter 説明Description
client_idclient_id 必須required 登録ポータルによってアプリに割り当てられたアプリケーション ID。The Application ID that the registration portal (apps.dev.microsoft.com) assigned your app.
grant_typegrant_type 必須required refresh_token である必要があります。Must be refresh_token.
scopescope 必須出席者required アクセス許可 (scope) のスペースで区切られた一覧。要求されたアクセス許可は、元の authorization_code 要求で要求されたアクセス許可と同じか、サブセットである必要があります。A space-separated list of permissions (scopes). The permissions requested must be equivalent to or a subset of the permissions requested in the original authorization_code request.
refresh_tokenrefresh_token 必須required トークン要求の間に取得した refresh_token。The refresh_token that you acquired during the token request.
redirect_uriredirect_uri 必須required authorization_code の取得に使用されたものと同じ redirect_uri 値。The same redirect_uri value that was used to acquire the authorization_code.
client_secretclient_secret Web アプリに必須。required for web apps アプリのアプリ登録ポータルで作成したアプリケーション シークレット。client_secrets はデバイスに確実に保存できないため、ネイティブ アプリでは使用しないでください。Web アプリと Web API に必須。これには、サーバー側に client_secret を安全に保存する機能があります。The application secret that you created in the app registration portal for your app. It should not be used in a native app, because client_secrets cannot be reliably stored on devices. It is required for web apps and web APIs, which have the ability to store the client_secret securely on the server side.

応答Response

正常なトークン応答は、次のようになります。A successful token response will look similar to the following.

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
    "token_type": "Bearer",
    "expires_in": 3599,
    "scope": "user.read%20mail.read",
    "refresh_token": "AwABAAAAvPM1KaPlrEqdFSBzjqfTGAMxZGUTdM0t4B4...",
}
パラメーターParameter 説明Description
access_tokenaccess_token 要求されたアクセス トークン。アプリはこのトークンを Microsoft Graph の呼び出しで使用できます。The requested access token. The app can use this token in calls to Microsoft Graph.
token_typetoken_type トークンの種類の値を示します。Azure AD がサポートしている種類はベアラーのみです。Indicates the token type value. The only type that Azure AD supports is Bearer
expires_inexpires_in アクセス トークンの有効期間 (秒単位)。How long the access token is valid (in seconds).
scopescope access_token が有効なアクセス許可 (scope)。The permissions (scopes) that the access_token is valid for.
refresh_tokenrefresh_token 新しい OAuth 2.0 の更新トークン。更新トークンを可能な限り長く有効にしておくために、古い更新トークンをこの新しく取得した更新トークンと置き換える必要があります。A new OAuth 2.0 refresh token. You should replace the old refresh token with this newly acquired refresh token to ensure your refresh tokens remain valid for as long as possible.

サポートされているアプリのシナリオと追加のリソースSupported app scenarios and additional resources

Microsoft Graph は、次に示す種類のアプリから、ユーザーの代わりに呼び出すことができます。You can call Microsoft Graph on behalf of a user from the following kinds of apps:

  • ネイティブ/モバイル アプリNative/Mobile apps
  • Web アプリWeb apps
  • シングル ページ アプリ (SPA)Single page apps (SPA)
  • バックエンド Web API: たとえば、ネイティブ アプリなどのクライアント アプリが Web API のバックエンドで機能を実装するシナリオなどの場合。Back-end Web APIs: For example, in scenarios where a client app, like a native app, implements functionality in a Web API back end. With the Azure AD v2.0 endpoint, both the client app and the back-end Web API must have the same Application ID. Microsoft ID プラットフォームのエンドポイントでは、クライアント アプリとバックエンドの Web API の両方に同じアプリケーション ID が必要です。With the Microsoft identity platform endpoint, both the client app and the back-end Web API must have the same Application ID.

Microsoft ID プラットフォームのエンドポイントでサポートされているアプリの種類の詳細については、「アプリの種類」を参照してください。For more information about supported app types with the Azure AD v2.0 endpoint, see Types of apps.

: スタンドアロンの Web API からの Microsoft Graph の呼び出しは、現在 Microsoft ID プラットフォームのエンドポイントではサポートされていません。Note: Calling Microsoft Graph from a standalone web API is not currently supported by the Microsoft identity platform endpoint. このシナリオでは、Azure AD エンドポイントを使用する必要があります。For this scenario, you need to use the Azure AD endpoint.

Microsoft ID プラットフォームのエンドポイントからユーザーに代わって Microsoft Graph にアクセスする方法の詳細については、次を参照してください。For more information about getting access to Microsoft Graph on behalf of a user from the Azure AD endpoint:

エンドポイントに関する考慮事項Endpoint considerations

Microsoft では引き続き Azure AD エンドポイントをサポートします。Microsoft continues to support the Azure AD endpoint. Microsoft ID プラットフォームのエンドポイントと Azure AD のエンドポイントの使用には、いくつかの違いがあります。There are several differences between using the Azure AD endpoint and the Azure AD v2.0 endpoint. For example: Azure AD エンドポイントを使用する場合:When using the Azure AD endpoint:

  • アプリには、プラットフォームごとのアプリケーション ID (クライアント ID) が必要です。Your app will require a different application ID (client ID) for each platform.
  • アプリがマルチ テナント アプリの場合は、Azure ポータルでマルチ テナントとなるよう明示的に設定する必要があります。If your app is a multi-tenant app, you must explicitly configure it to be multi-tenant at the Azure portal.
  • アプリに必要なすべてのアクセス許可を開発者が構成する必要があります。All permissions that your app needs must be configured by the developer. Azure AD エンドポイントは、動的 (増分) の同意をサポートしていません。The Azure AD endpoint does not support dynamic (incremental) consent.
  • Azure AD エンドポイントは、承認とトークンの要求に resource パラメーターを使用して、アクセス許可が必要な Microsoft Graph などのリソースを指定します。エンドポイントは scope パラメーターをサポートしていません。The Azure AD endpoint uses a resource parameter in authorization and token requests to specify the resource, such as Microsoft Graph, for which it wants permissions. The endpoint does not support the scope parameter.
  • Azure AD エンドポイントは、管理者の同意用に特定のエンドポイントを公開しません。その代わりに、アプリは承認要求で prompt=admin_consentパラメーターを使用して、組織の管理者の同意を取得します。詳細については、「Azure Active Directory とアプリケーションの統合」の「実行時の Azure AD 同意フレームワークのトリガー」を参照してください。The Azure AD endpoint does not expose a specific endpoint for administrator consent. Instead apps use the prompt=admin_consent parameter in the authorization request to obtain administrator consent for an organization. For more information, see Triggering the Azure AD consent framework at runtime in Integrating applications with Azure Active Directory.

Azure AD エンドポイントからユーザーに代わって Microsoft Graph にアクセスする方法の詳細については、次を参照してください。For more information about getting access to Microsoft Graph on behalf of a user from the Azure AD endpoint:

  • さまざまな種類のアプリで Azure AD エンドポイントを使用する方法の詳細については、「開発者のための Azure Active Directory」の作業開始リンクを参照してください。このガイドには、Azure AD エンドポイントでサポートされている、さまざまな種類のアプリの概要トピック、コードのチュートリアル、およびプロトコルのドキュメントへのリンクが含まれています。For information about using the Azure AD endpoint with different kinds of apps, see the Get Started links in the Azure Active Directory developers guide. The guide contains links to overview topics, code walk-throughs, and protocol documentation for different kinds of app supported by the Azure AD endpoint.
  • Azure AD エンドポイントで使用可能な Active Directory 認証ライブラリ (ADAL) とサーバー ミドルウェアの詳細については、「Azure Active Directory 認証ライブラリ」を参照してください。For information about the Active Directory Authentication Library (ADAL) and server middleware available for use with the Azure AD endpoint, see Azure Active Directory Authentication Libraries.