如何对Azure Devops Pats API进行身份验证? 我在Node.js中创建一个需要列出,创建和删除Azure DevOps Pat的azure函数,但是正如标题所说,我在身份验证 /授权方面遇到麻烦。 我读过Wi ...

问题描述 投票:0回答:1
vso.tokenadministration

vso.tokens

我使用MSAL库在我的功能应用中检索授权代码。它正常工作,并且正在返回有效的auth代码。 const config = { auth: { clientId: process.env.AZURE_CLIENT_ID, authority: "https://login.microsoftonline.com/" + process.env.AZURE_TENANT_ID, clientSecret: process.env.AZURE_CLIENT_SECRET, } }; const cca = new ConfidentialClientApplication(config); const result = await cca.acquireTokenByClientCredential({ scopes: ["499b84ac-1321-427f-aa17-267ca6975798/.default"], }); return result.accessToken;

事情是,此代码无权与PATS API进行互动。

首先,我有以下错误:


Access拒绝:00000000-0000-0000-0000-0000-000000000000需要对资源主体的以下许可执行此操作:公共标识符读取
然后,尝试了一些解决方案后,设法获得以下内容(老实说,不知道哪个用户是指)

用户'92EC58A6-8A14-6563-A4B4-D1D0E40F40FF'无权访问此资源。
我尝试过的事物:

API权限乱七八糟,但找不到合适的权限。 tried将我的应用程序添加到Azure DevOps组中,但遇到了另一个错误,说服务器校长不允许进入此操作。

无论如何都会使用PAT进行努力(当然,它不起作用)

tried使用ROPC流量来检索令牌以获得访问令牌和非交互式用户,使用委派的权限,但我们启用了多因素,因此它也无法正常工作。

我真的不知道该怎么办。有人有任何帮助吗?

注意,服务主要身份验证是不支持与Azure Devops Pats API合作的。您只能使用涉及用户互动以使其正常工作的

deled

流。
您的用例是避免用户交互,唯一的方法是使用ROPC流。但是,如果为用户启用了MFA,则不能使用

ROPCflow

生成访问令牌。
要解决此问题,请确保使用用户使用用户名密码(ROPC)Flow生成访问令牌的MFA。

在本质上,我注册了一个申请,并在

API权限下方添加了这样的同意:
  • 在我的情况下,我在代码文件下运行,并成功地得到了响应:
auth.js:

azure azure-devops azure-active-directory microsoft-entra-id
1个回答
0
投票

Fetchpats.js: require("dotenv").config(); const axios = require("axios"); const getAccessToken = require("./auth"); async function fetchPats() { try { const accessToken = await getAccessToken(); if (!accessToken) throw new Error("Failed to acquire access token"); const url = "https://vssps.dev.azure.com/sridevOps22/_apis/tokens/pats?api-version=7.1-preview.1"; const response = await axios.get(url, { headers: { "Authorization": `Bearer ${accessToken}`, "Content-Type": "application/json", } }); console.log("\nPAT Tokens Response:", JSON.stringify(response.data, null, 2)); } catch (error) { console.error("Error fetching PAT tokens:", error.response?.data || error.message); } } fetchPats();

response:

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.