Skip to content

Commit e8f3a88

Browse files
committed
PM feedback updates
1 parent 11e3127 commit e8f3a88

File tree

2 files changed

+42
-47
lines changed

2 files changed

+42
-47
lines changed

docs/integrate/get-started/auth/tfs-basic-auth.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.assetid: 6dc7f977-4b62-4bd6-b77a-1c6cade1ffa8
77
monikerRange: '<= azure-devops'
88
ms.author: chcomley
99
author: chcomley
10-
ms.date: 07/11/2025
10+
ms.date: 07/14/2025
1111
---
1212

1313
# Cross-platform CLI authentication for Azure DevOps
@@ -36,11 +36,11 @@ For more information about tfx-cli, see the [Node CLI for Azure DevOps on GitHub
3636

3737
Choose the appropriate authentication method based on your environment:
3838

39-
| Method | Recommended for | Security level |
40-
|--------|----------------|----------------|
41-
| Microsoft Entra ID | Azure DevOps Services | High |
42-
| PAT | Azure DevOps Server, automation scripts | Medium |
43-
| Basic Authentication | Legacy on-premises only | Low (deprecated) |
39+
| Method | Recommended for |
40+
|--------|----------------|
41+
| Microsoft Entra ID | Azure DevOps Services |
42+
| PAT | Azure DevOps Server, automation scripts |
43+
| Basic Authentication | Azure DevOps Server only |
4444

4545
## Microsoft Entra ID authentication (Recommended)
4646

@@ -59,16 +59,16 @@ For detailed guidance on Microsoft Entra ID authentication, see [Microsoft Entra
5959

6060
## PAT authentication
6161

62-
Use PATs when Microsoft Entra ID authentication isn't available, such as with Azure DevOps Server or automation scenarios.
62+
Use PATs when Microsoft Entra ID authentication isn't available, such as with Azure DevOps Server.
6363

6464
### Create and use a PAT
6565

6666
1. [Create a PAT](../../../organizations/accounts/use-personal-access-tokens-to-authenticate.md) with the required scopes.
6767
2. Sign in using the PAT:
6868

69-
```bash
70-
tfx login
71-
```
69+
```bash
70+
tfx login
71+
```
7272

7373
3. When prompted, provide:
7474
- **Service URL**: Your Azure DevOps instance URL.
@@ -92,14 +92,14 @@ Logged in successfully
9292
## Basic authentication (Deprecated)
9393
9494
> [!WARNING]
95-
> Basic authentication is deprecated and not recommended. Use Microsoft Entra ID or PATs instead. Basic authentication:
95+
> Basic authentication is deprecated and not recommended. Use Microsoft Entra ID instead. Basic authentication:
9696
> - Sends credentials in plaintext
9797
> - Can cause issues with Git command line operations
9898
> - Poses security risks
9999
100-
### Configure basic authentication (Legacy Azure DevOps Server only)
100+
### Configure basic authentication (Azure DevOps Server only)
101101
102-
If you must use basic authentication with legacy Azure DevOps Server installations:
102+
If you must use basic authentication with Azure DevOps Server installations:
103103
104104
1. **Enable IIS Basic Authentication:**
105105
- Open Server Manager.
@@ -111,19 +111,19 @@ If you must use basic authentication with legacy Azure DevOps Server installatio
111111
112112
2. **Sign in with basic authentication:**
113113
114-
```bash
115-
tfx login --auth-type basic
116-
```
114+
```bash
115+
tfx login --auth-type basic
116+
```
117117
118-
When prompted, provide:
119-
- **Service URL**: Your on-premises server URL (for example, `http://yourserver:8080/tfs/DefaultCollection`).
120-
- **Username**: Use `domain\username` format (for example, `fabrikam\john`)
121-
- **Password**: Your domain password.
118+
3. When prompted, provide:
119+
- **Service URL**: Your on-premises server URL (for example, `http://yourserver:8080/tfs/DefaultCollection`).
120+
- **Username**: Use `domain\username` format (for example, `fabrikam\john`)
121+
- **Password**: Your domain password.
122122
123123
> [!TIP]
124124
> Consider [configuring SSL](/azure/devops/server/admin/setup-secure-sockets-layer) for secure communication when using basic authentication.
125125
126126
## Next step
127127
128128
> [!div class="nextstepaction"]
129-
[View the complete tfx-cli command reference](https://github.com/Microsoft/tfs-cli)
129+
> [View the complete tfx-cli command reference](https://github.com/Microsoft/tfs-cli)

docs/integrate/get-started/authentication/authentication-guidance.md

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Authentication guidance for Azure DevOps
2+
title: Choose your authentication method for Azure DevOps
33
titleSuffix: Azure DevOps
44
description: Choose the right authentication method for your Azure DevOps integration, with Microsoft Entra ID as the recommended approach.
55
ms.assetid: 15CCEB1E-F42B-4439-8C35-B8A225F5546C
@@ -10,17 +10,17 @@ ai-usage: ai-assisted
1010
monikerRange: '<= azure-devops'
1111
ms.author: chcomley
1212
author: chcomley
13-
ms.date: 07/11/2025
13+
ms.date: 07/14/2025
1414
---
1515

16-
# Choose the right authentication method for Azure DevOps
16+
# Choose your authentication method for Azure DevOps
1717

1818
[!INCLUDE [version-lt-eq-azure-devops](../../../includes/version-lt-eq-azure-devops.md)]
1919

20-
This article helps you choose the most appropriate authentication method for your Azure DevOps integration. Modern authentication approaches like Microsoft Entra ID provide enhanced security and are recommended for new applications.
21-
2220
> [!IMPORTANT]
23-
> **Microsoft Entra ID authentication is recommended** for new applications integrating with Azure DevOps Services. Personal access tokens should be used sparingly and only when modern authentication isn't available.
21+
> **Microsoft Entra ID authentication is recommended** for new applications integrating with Azure DevOps Services. Personal access tokens should be used sparingly and only when Microsoft Entra ID isn't available.
22+
23+
This article helps you choose the most appropriate authentication method for your Azure DevOps integration. Modern authentication approaches like Microsoft Entra ID provide enhanced security and are recommended for new applications.
2424

2525
> [!NOTE]
2626
> OAuth 2.0 and Microsoft Entra ID authentication are only available for Azure DevOps Services, not Azure DevOps Server. For on-premises scenarios, use [Client Libraries](../../concepts/dotnet-client-libraries.md), Windows Authentication, or [personal access tokens](../../../organizations/accounts/use-personal-access-tokens-to-authenticate.md).
@@ -31,21 +31,14 @@ Choose the appropriate authentication method based on your application type and
3131

3232
| Application Type | Description | Example | Recommended Method | Code Samples |
3333
|------------------|-------------|---------|-------------------|-------------|
34-
| **Modern web/desktop apps** | Interactive applications using current frameworks | React app, .NET desktop app | [Microsoft Entra ID OAuth](./entra-oauth.md) with MSAL | [sample](https://github.com/microsoft/azure-devops-auth-samples/tree/master/ManagedClientConsoleAppSample) |
34+
| **Web/desktop apps** | Interactive applications using current frameworks | React app, .NET desktop app | [Microsoft Entra ID OAuth](./entra-oauth.md) with MSAL | [sample](https://github.com/microsoft/azure-devops-auth-samples/tree/master/ManagedClientConsoleAppSample) |
3535
| **Service/background apps** | Applications running without user interaction | Azure Functions, background services | [Service principals & managed identities](./service-principal-managed-identity.md) | [sample](https://github.com/microsoft/azure-devops-auth-samples/tree/master/ServicePrincipalsSamples) |
3636
| **Legacy client apps** | Existing applications using client libraries | Console apps with Azure DevOps .NET libraries | [Client Libraries](../../concepts/dotnet-client-libraries.md) with OAuth | [sample](https://github.com/Microsoft/vsts-auth-samples/tree/master/ClientLibraryConsoleAppSample) |
3737
| **Headless/CLI apps** | Non-interactive command-line tools | Build scripts, automation tools | [Device Code Flow](./entra-oauth.md) | [sample](https://github.com/Microsoft/vsts-auth-samples/tree/master/DeviceProfileSample) |
3838
| **Azure DevOps extensions** | Extensions running within Azure DevOps | Custom dashboard widgets, work item forms | [VSS Web Extension SDK](https://github.com/Microsoft/azure-devops-extension-sdk) | [sample](../../../extend/develop/add-dashboard-widget.md) |
3939
| **Azure DevOps Server apps** | On-premises Azure DevOps Server integrations | Custom server extensions | [Client Libraries](../../concepts/dotnet-client-libraries.md) or Windows Auth | [sample](https://github.com/Microsoft/vsts-auth-samples/tree/master/ClientLibraryConsoleAppSample) |
4040
| **Personal/ad-hoc scripts** | Quick scripts for personal use | PowerShell scripts, curl commands | [Personal Access Tokens](../../../organizations/accounts/use-personal-access-tokens-to-authenticate.md) | [examples](../../how-to/call-rest-api.md) |
4141

42-
### Security recommendation hierarchy
43-
44-
- **Best**: Microsoft Entra ID OAuth with service principals or managed identities
45-
- **Good**: Microsoft Entra ID OAuth with user delegation
46-
- **Acceptable**: Client Libraries with OAuth authentication
47-
- **Use sparingly**: Personal Access Tokens
48-
4942
## Getting started recommendations
5043

5144
### For new applications
@@ -76,19 +69,21 @@ A:
7669
**Use Personal Access Tokens only for**:
7770
- Personal scripts and ad-hoc tasks
7871
- Legacy applications during migration planning
79-
- Azure DevOps Server scenarios where modern auth isn't available
72+
- Azure DevOps Server scenarios where modern authentication isn't available
8073

81-
### Q: Should I use Client Libraries or REST APIs?
74+
### Q: Should I use service principals or user delegation for authentication?
8275
A:
83-
**Use Azure DevOps Client Libraries** when:
84-
- Building .NET applications
85-
- You need simplified API interactions
86-
- You want automatic handling of API version changes
87-
88-
**Use REST APIs directly** when:
89-
- Building in non-.NET languages
90-
- You need access to newer APIs not yet in client libraries
91-
- You want maximum control over API interactions
76+
**Use service principals or managed identities** when:
77+
- Building applications that operate independently (background services, automation)
78+
- Creating apps that don't require user interaction
79+
- Implementing service-to-service communication
80+
- Building CI/CD pipelines or automated workflows
81+
82+
**Use user delegation (OAuth with user consent)** when:
83+
- Building applications that act on behalf of human users
84+
- Creating interactive apps where users sign in with their own credentials
85+
- Implementing features that require user-specific permissions
86+
- Building apps that need to respect user's individual access rights
9287

9388
### Q: How do I authenticate with both Azure DevOps Server and Azure DevOps Services?
9489
A:
@@ -138,5 +133,5 @@ Choose your authentication implementation:
138133
- [Azure DevOps Services REST API reference](/rest/api/azure/devops)
139134
- [Azure DevOps .NET Client Libraries](../../concepts/dotnet-client-libraries.md)
140135
- [Authentication code samples](https://github.com/microsoft/azure-devops-auth-samples)
141-
- [About security and identity](../../../organizations/security/about-security-identity.md)
136+
- [Security and identity in Azure DevOps](../../../organizations/security/about-security-identity.md)
142137
- [Azure DevOps data protection overview](../../../organizations/security/data-protection.md)

0 commit comments

Comments
 (0)