You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/active-directory/authentication/active-directory-certificate-based-authentication-android.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,7 @@ Android devices can use certificate-based authentication (CBA) to authenticate t
24
24
25
25
Configuring this feature eliminates the need to enter a username and password combination into certain mail and Microsoft Office applications on your mobile device.
26
26
27
-
This topic provides you with the requirements and the supported scenarios for configuring CBA on an iOS(Android) device for users of tenants in Office 365 Enterprise, Business, Education, US Government, China, and Germany plans.
27
+
This topic provides you with the requirements and the supported scenarios for configuring CBA on an Android device for users of tenants in Office 365 Enterprise, Business, Education, US Government, China, and Germany plans.
28
28
29
29
This feature is available in preview in Office 365 US Government Defense and Federal plans.
Copy file name to clipboardExpand all lines: articles/active-directory/develop/active-directory-v2-protocols.md
+1-4Lines changed: 1 addition & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,9 +19,6 @@ ms.custom: aaddev
19
19
20
20
The Microsoft identity platform endpoint for identity-as-a-service with industry standard protocols, OpenID Connect and OAuth 2.0. While the service is standards-compliant, there can be subtle differences between any two implementations of these protocols. The information here will be useful if you choose to write your code by directly sending and handling HTTP requests or use a third party open-source library, rather than using one of our [open-source libraries](reference-v2-libraries.md).
21
21
22
-
> [!NOTE]
23
-
> Not all Azure AD scenarios and features are supported by the Microsoft identity platform endpoint. To determine if you should use the Microsoft identity platform endpoint, read about [Microsoft identity platform limitations](active-directory-v2-limitations.md).
24
-
25
22
## The basics
26
23
27
24
In nearly all OAuth 2.0 and OpenID Connect flows, there are four parties involved in the exchange:
@@ -64,7 +61,7 @@ Where the `{tenant}` can take one of four different values:
64
61
To learn how to interact with these endpoints, choose a particular app type in the [Protocols](#protocols) section and follow the links for more info.
65
62
66
63
> [!TIP]
67
-
> Any app registered in Azure AD can use the Microsoft identity platform endpoint, even if they don't sign in personal accounts. This way, you can migrate existing applications to Microsoft identity platform and [MSAL](reference-v2-libraries.md) without re-creating your application.
64
+
> Any app registered in Azure AD can use the Microsoft identity platform endpoint, even if they don't sign in personal accounts. This way, you can migrate existing applications to Microsoft identity platform and [MSAL](reference-v2-libraries.md) without re-creating your application.
Copy file name to clipboardExpand all lines: articles/active-directory/develop/tutorial-v2-angular.md
-4Lines changed: 0 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,10 +50,6 @@ This tutorial uses the following library:
50
50
|---|---|
51
51
|[msal.js](https://github.com/AzureAD/microsoft-authentication-library-for-js)|Microsoft Authentication Library for JavaScript Angular Wrapper|
52
52
53
-
> [!NOTE]
54
-
> *Msal.js* targets the Microsoft identity platform endpoint, which enables personal accounts, work accounts, and school accounts to sign in and acquire tokens. The Microsoft identity platform endpoint has [some limitations](../azuread-dev/azure-ad-endpoint-comparison.md#limitations).
55
-
> To understand the differences between the v1.0 and v2.0 endpoints, see the [endpoint comparison guide](../azuread-dev/azure-ad-endpoint-comparison.md).
56
-
57
53
You can find the source code for the MSAL.js library in the [AzureAD/microsoft-authentication-library-for-js](https://github.com/AzureAD/microsoft-authentication-library-for-js) repository on GitHub.
Copy file name to clipboardExpand all lines: articles/active-directory/develop/tutorial-v2-javascript-spa.md
-4Lines changed: 0 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,10 +44,6 @@ This guide uses the following library:
44
44
|---|---|
45
45
|[msal.js](https://github.com/AzureAD/microsoft-authentication-library-for-js)|Microsoft Authentication Library for JavaScript|
46
46
47
-
> [!NOTE]
48
-
> *Msal.js* targets the Microsoft identity platform endpoint, which enables personal accounts and school and work accounts to sign in and acquire tokens. The Microsoft identity platform endpoint has [some limitations](../azuread-dev/azure-ad-endpoint-comparison.md#limitations).
49
-
> To understand the differences between the v1.0 and v2.0 endpoints, see the [endpoint comparison guide](../azuread-dev/azure-ad-endpoint-comparison.md).
Copy file name to clipboardExpand all lines: articles/active-directory/develop/v2-app-types.md
-3Lines changed: 0 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,9 +19,6 @@ ms.custom: aaddev
19
19
20
20
The Microsoft identity platform (v2.0) endpoint supports authentication for a variety of modern app architectures, all of them based on industry-standard protocols [OAuth 2.0 or OpenID Connect](active-directory-v2-protocols.md). This article describes the types of apps that you can build by using Microsoft identity platform, regardless of your preferred language or platform. The information is designed to help you understand high-level scenarios before you [start working with the code](v2-overview.md#getting-started).
21
21
22
-
> [!NOTE]
23
-
> The Microsoft identity platform endpoint doesn't support all Azure Active Directory (Azure AD) scenarios and features. To determine whether you should use the Microsoft identity platform endpoint, read about [Microsoft identity platform limitations](active-directory-v2-limitations.md).
24
-
25
22
## The basics
26
23
27
24
You must register each app that uses the Microsoft identity platform endpoint in the new [App registrations portal](https://go.microsoft.com/fwlink/?linkid=2083908). The app registration process collects and assigns these values for your app:
Copy file name to clipboardExpand all lines: articles/active-directory/develop/v2-oauth2-auth-code-flow.md
-3Lines changed: 0 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,9 +21,6 @@ The OAuth 2.0 authorization code grant can be used in apps that are installed on
21
21
22
22
This article describes how to program directly against the protocol in your application. When possible, we recommend you use the supported Microsoft Authentication Libraries (MSAL) instead to [acquire tokens and call secured web APIs](authentication-flows-app-scenarios.md#scenarios-and-supported-authentication-flows). Also take a look at the [sample apps that use MSAL](sample-v2-code.md).
23
23
24
-
> [!NOTE]
25
-
> Not all Azure Active Directory scenarios & features are supported by the Microsoft identity platform endpoint. To determine if you should use the Microsoft identity platform endpoint, read about [Microsoft identity platform limitations](active-directory-v2-limitations.md).
26
-
27
24
The OAuth 2.0 authorization code flow is described in [section 4.1 of the OAuth 2.0 specification](https://tools.ietf.org/html/rfc6749). It's used to perform authentication and authorization in the majority of app types, including [web apps](v2-app-types.md#web-apps) and [natively installed apps](v2-app-types.md#mobile-and-native-apps). The flow enables apps to securely acquire access_tokens that can be used to access resources secured by the Microsoft identity platform endpoint.
Copy file name to clipboardExpand all lines: articles/active-directory/develop/v2-oauth2-client-creds-grant-flow.md
-3Lines changed: 0 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,9 +23,6 @@ This article describes how to program directly against the protocol in your appl
23
23
24
24
The OAuth 2.0 client credentials grant flow permits a web service (confidential client) to use its own credentials, instead of impersonating a user, to authenticate when calling another web service. In this scenario, the client is typically a middle-tier web service, a daemon service, or a web site. For a higher level of assurance, the Microsoft identity platform also allows the calling service to use a certificate (instead of a shared secret) as a credential.
25
25
26
-
> [!NOTE]
27
-
> The Microsoft identity platform endpoint doesn't support all Azure AD scenarios and features. To determine whether you should use the Microsoft identity platform endpoint, read about [Microsoft identity platform limitations](active-directory-v2-limitations.md).
28
-
29
26
In the more typical *three-legged OAuth*, a client application is granted permission to access a resource on behalf of a specific user. The permission is delegated from the user to the application, usually during the [consent](v2-permissions-and-consent.md) process. However, in the client credentials (*two-legged OAuth*) flow, permissions are granted directly to the application itself. When the app presents a token to a resource, the resource enforces that the app itself has authorization to perform an action and not the user.
Copy file name to clipboardExpand all lines: articles/active-directory/develop/v2-oauth2-device-code.md
+8-11Lines changed: 8 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,13 +18,10 @@ ms.custom: aaddev
18
18
19
19
# Microsoft identity platform and the OAuth 2.0 device authorization grant flow
20
20
21
-
The Microsoft identity platform supports the [device authorization grant](https://tools.ietf.org/html/rfc8628), which allows users to sign in to input-constrained devices such as a smart TV, IoT device, or printer. To enable this flow, the device has the user visit a webpage in their browser on another device to sign in. Once the user signs in, the device is able to get access tokens and refresh tokens as needed.
21
+
The Microsoft identity platform supports the [device authorization grant](https://tools.ietf.org/html/rfc8628), which allows users to sign in to input-constrained devices such as a smart TV, IoT device, or printer. To enable this flow, the device has the user visit a webpage in their browser on another device to sign in. Once the user signs in, the device is able to get access tokens and refresh tokens as needed.
22
22
23
23
This article describes how to program directly against the protocol in your application. When possible, we recommend you use the supported Microsoft Authentication Libraries (MSAL) instead to [acquire tokens and call secured web APIs](authentication-flows-app-scenarios.md#scenarios-and-supported-authentication-flows). Also take a look at the [sample apps that use MSAL](sample-v2-code.md).
24
24
25
-
> [!NOTE]
26
-
> The Microsoft identity platform endpoint doesn't support all Azure Active Directory scenarios and features. To determine whether you should use the Microsoft identity platform endpoint, read about [Microsoft identity platform limitations](active-directory-v2-limitations.md).
27
-
28
25
## Protocol diagram
29
26
30
27
The entire device code flow looks similar to the next diagram. We describe each of the steps later in this article.
A successful response will be a JSON object containing the required information to allow the user to sign in.
58
+
A successful response will be a JSON object containing the required information to allow the user to sign in.
62
59
63
60
| Parameter | Format | Description |
64
61
| --- | --- | --- |
@@ -76,11 +73,11 @@ A successful response will be a JSON object containing the required information
76
73
77
74
After receiving the `user_code` and `verification_uri`, the client displays these to the user, instructing them to sign in using their mobile phone or PC browser.
78
75
79
-
If the user authenticates with a personal account (on /common or /consumers), they will be asked to sign in again in order to transfer authentication state to the device. They will also be asked to provide consent, to ensure they are aware of the permissions being granted. This does not apply to work or school accounts used to authenticate.
76
+
If the user authenticates with a personal account (on /common or /consumers), they will be asked to sign in again in order to transfer authentication state to the device. They will also be asked to provide consent, to ensure they are aware of the permissions being granted. This does not apply to work or school accounts used to authenticate.
80
77
81
78
While the user is authenticating at the `verification_uri`, the client should be polling the `/token` endpoint for the requested token using the `device_code`.
82
79
83
-
```
80
+
```
84
81
POST https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
|`tenant`| Required | The same tenant or tenant alias used in the initial request. |
91
+
|`tenant`| Required | The same tenant or tenant alias used in the initial request. |
95
92
|`grant_type`| Required | Must be `urn:ietf:params:oauth:grant-type:device_code`|
96
93
|`client_id`| Required | Must match the `client_id` used in the initial request. |
97
94
|`device_code`| Required | The `device_code` returned in the device authorization request. |
98
95
99
96
### Expected errors
100
97
101
-
The device code flow is a polling protocol so your client must expect to receive errors before the user has finished authenticating.
98
+
The device code flow is a polling protocol so your client must expect to receive errors before the user has finished authenticating.
102
99
103
100
| Error | Description | Client Action |
104
101
| ------ | ----------- | -------------|
105
102
|`authorization_pending`| The user hasn't finished authenticating, but hasn't canceled the flow. | Repeat the request after at least `interval` seconds. |
106
103
|`authorization_declined`| The end user denied the authorization request.| Stop polling, and revert to an unauthenticated state. |
107
104
|`bad_verification_code`| The `device_code` sent to the `/token` endpoint wasn't recognized. | Verify that the client is sending the correct `device_code` in the request. |
108
-
|`expired_token`| At least `expires_in` seconds have passed, and authentication is no longer possible with this `device_code`. | Stop polling and revert to an unauthenticated state. |
105
+
|`expired_token`| At least `expires_in` seconds have passed, and authentication is no longer possible with this `device_code`. | Stop polling and revert to an unauthenticated state. |
109
106
110
107
### Successful authentication response
111
108
@@ -131,4 +128,4 @@ A successful token response will look like:
131
128
|`id_token`| JWT | Issued if the original `scope` parameter included the `openid` scope. |
132
129
|`refresh_token`| Opaque string | Issued if the original `scope` parameter included `offline_access`. |
133
130
134
-
You can use the refresh token to acquire new access tokens and refresh tokens using the same flow documented in the [OAuth Code flow documentation](v2-oauth2-auth-code-flow.md#refresh-the-access-token).
131
+
You can use the refresh token to acquire new access tokens and refresh tokens using the same flow documented in the [OAuth Code flow documentation](v2-oauth2-auth-code-flow.md#refresh-the-access-token).
Copy file name to clipboardExpand all lines: articles/active-directory/develop/v2-oauth2-implicit-grant-flow.md
-3Lines changed: 0 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,9 +29,6 @@ This article describes how to program directly against the protocol in your appl
29
29
30
30
However, if you prefer not to use a library in your single-page app and send protocol messages yourself, follow the general steps below.
31
31
32
-
> [!NOTE]
33
-
> Not all Azure Active Directory (Azure AD) scenarios and features are supported by the Microsoft identity platform endpoint. To determine if you should use the Microsoft identity platform endpoint, read about [Microsoft identity platform limitations](active-directory-v2-limitations.md).
34
-
35
32
## Suitable scenarios for the OAuth2 implicit grant
36
33
37
34
The OAuth2 specification declares that the implicit grant has been devised to enable user-agent applications – that is to say, JavaScript applications executing within a browser. The defining characteristic of such applications is that JavaScript code is used for accessing server resources (typically a web API) and for updating the application user experience accordingly. Think of applications like Gmail or Outlook Web Access: when you select a message from your inbox, only the message visualization panel changes to display the new selection, while the rest of the page remains unmodified. This characteristic is in contrast with traditional redirect-based Web apps, where every user interaction results in a full page postback and a full page rendering of the new server response.
0 commit comments