Skip to content

Commit 8b98fb3

Browse files
Merge pull request #8050 from JKirsch1/refresh-service-hook-authorization-article
Freshness Edit: Azure DevOps - Service hooks
2 parents 46570d0 + f4fb100 commit 8b98fb3

File tree

3 files changed

+33
-28
lines changed

3 files changed

+33
-28
lines changed

docs/service-hooks/authorize.md

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,28 @@
11
---
22
ms.subservice: azure-devops-service-hooks
3-
ms.topic: conceptual
4-
title: Authorize services
3+
ms.topic: how-to
4+
title: Authorize Services
55
ms.custom: engagement-fy23
6-
description: Authorize services to work with Azure DevOps
6+
description: Find out how to use OpenID Connect (OIDC)-based authentication to grant a service access to your Azure DevOps work items, source code, and other resources.
77
ms.assetid: 314a28cd-b2ae-41a0-8dfb-330222c1aed0
88
ms.author: chcomley
99
author: chcomley
1010
monikerRange: '<= azure-devops'
11-
ms.date: 07/27/2020
11+
ms.date: 06/24/2025
12+
# customer intent: As a developer, I want to use OpenID Connect (OIDC)-based authentication to give an integrated service access to my Azure DevOps resources so that I don't have to give the service my Azure credentials.
1213
---
1314

1415
# Manage authorization of services to access Azure DevOps
1516

16-
[!INCLUDE [version-lt-eq-azure-devops](../includes/version-lt-eq-azure-devops.md)]
17+
[!INCLUDE [Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020](../includes/version-gt-eq-2020.md)]
1718

18-
When you use a service that's integrated with Azure DevOps, the industry-standard OAuth 2.0 authorization framework provides safe and secure access to your resources by those other services.
19-
With OAuth, you grant a service the authorization to access your Azure DevOps resources, such as work items, source code, and build results.
19+
When you integrate a service with Azure DevOps, you can grant the service access to your Azure DevOps resources, such as work items, source code, and build results.
2020

21-
- Authorizations are bound to your credentials, so the service can use the authorization to access your resources in Azure DevOps.
22-
- Use your Microsoft account or your work account to authorize the service.
23-
- The service that you authorize never has access to your Azure DevOps credentials.
24-
- Revoke any authorizations that you've granted to other services.
21+
Azure DevOps uses OpenID Connect (OIDC)-based authentication to grant the service access to your resources.
22+
23+
- Authorizations are bound to your credentials, so the service can use an authorization to access your resources in Azure DevOps.
24+
- You use your Microsoft account or your work account to authorize the service.
25+
- The service that you authorize doesn't have access to your Azure DevOps credentials.
2526

2627
## Prerequisites
2728

@@ -31,37 +32,41 @@ With OAuth, you grant a service the authorization to access your Azure DevOps re
3132
| **Access levels** | At least **Basic** access. |
3233
|**Permissions**| Member of the [Project Collection Administrators group](../organizations/security/look-up-project-collection-administrators.md). Organization owners are automatically members of this group.|
3334

35+
## Authentication frameworks
36+
37+
When you build an application on top of Azure DevOps REST APIs, you can use OIDC-based authentication by [registering your application in Microsoft Entra ID](/entra/identity-platform/quickstart-register-app). For more information, see [What is the Microsoft identity platform?](/entra/identity-platform/v2-overview).
38+
39+
Some older apps use an implementation of OAuth 2.0 to get access tokens for Azure DevOps resources. Registrations of these Azure DevOps OAuth applications are no longer supported, because Azure DevOps OAuth is slated for deprecation in 2026. For more information, see [No new Azure DevOps OAuth apps beginning April 2025](https://devblogs.microsoft.com/devops/no-new-azure-devops-oauth-apps/).
40+
3441
## Authorize a service
3542

36-
A typical authorization flow might go like this:
43+
A typical authorization flow might include the following steps:
3744

38-
1. You're using a service that uses Azure DevOps resources, so the service requests authorization.
39-
1. If you're not already signed in, Azure DevOps prompts you for your credentials.
45+
1. You use a service that uses Azure DevOps resources, so the service requests authorization.
4046

41-
![Screenshot of Azure DevOps sign in page.](./media/authorize/vso-sign-in.png)
47+
1. To initiate the authentication process for the service, the registered app opens a Microsoft Entra ID website.
4248

43-
2. After you sign in, you get the authorization approval page.
49+
:::image type="content" source="media/authorize/microsoft-account-selection.png" alt-text="Screenshot of a Microsoft dialog for selecting an account. One account is visible, and an option for adding another account is available.":::
4450

45-
![Screenshot of Azure DevOps authorization page](./media/authorize/vso-authorize.png)
51+
1. After you select an account, the authorization approval page appears.
4652

47-
Services can only request full access to all of the resources that are available to you through the REST APIs, so the authorization request might not be specific.
53+
:::image type="content" source="media/authorize/authorize-azure-devops-permissions.png" alt-text="Screenshot of a Microsoft Permissions requested dialog. An app name, a list of requested permissions, and Cancel and Accept buttons are visible.":::
4854

49-
3. Review the request and approve the authorization.
55+
1. You review the request and approve the authorization.
5056

51-
The authorized service uses that authorization to access resources in your Visual Studio account.
57+
1. The authorized service uses that authorization to access resources in your Azure DevOps organization.
5258

53-
To ensure an authorization request is legitimate:
59+
To ensure an authorization request is legitimate, take the following precautions:
5460

55-
- Look for the Azure DevOps branding across the upper portion of the authorization approval page.
56-
- Ensure the authorization approval page URL begins with ```https://app.vssps.visualstudio.com/```.
5761
- Pay attention to any HTTPS-related security warnings in your browser.
58-
- Remember that other services don't ask for your credentials directly. They let you provide them to Azure DevOps through the authorization approval page.
62+
- Don't give your credentials to other services directly. Enter your credentials only through the authorization approval page in Azure DevOps.
5963

6064
## Manage authorizations
6165

62-
To see the services that you've authorized to access your account, go to [https://app.vssps.visualstudio.com/Profile/View](https://app.vssps.visualstudio.com/Profile/View)
63-
and select **Manage authorizations**.
66+
When you register an app in Microsoft Entra ID, the app can request tokens from the Microsoft identity platform. An authenticated service can then use a token to access specific protected resources. The lifetime of each token is at most 90 minutes. After a token expires, the service's access to the resources is revoked. For more information, see [Token lifetime](/entra/identity-platform/access-tokens#token-lifetime).
67+
68+
In contrast, apps that are registered with Azure DevOps OAuth can authorize services to access Azure DevOps resources for longer periods of time. For a list of services that are currently authorized to access your account, go to [https://app.vssps.visualstudio.com/Profile/View](https://app.vssps.visualstudio.com/Profile/View) and select **Manage authorizations**.
6469

65-
![Screenshot of the list of authorized services.](./media/authorize/authorizations.png)
70+
:::image type="content" source="media/authorize/authorizations.png" alt-text="Screenshot of the Authorizations dialog. The permissions granted to the Zapier service are visible, and a Revoke link is available.":::
6671

67-
You can revoke any authorizations here, so the service can't access your account on your behalf.
72+
You can use this page to revoke authorizations so that services can't access your account on your behalf.
33.2 KB
Loading
15.6 KB
Loading

0 commit comments

Comments
 (0)