gpt4 book ai didi

oauth - 如何简单地获取不记名 token 以向 Azure DevOps API 发送请求?

转载 作者:行者123 更新时间:2023-12-04 12:59:32 27 4
gpt4 key购买 nike

我需要创建一个组织源来托管在我们 Azure DevOps 环境中的项目之间共享的 nuget 包。

经过几次不成功的尝试和研究,我发现创建组织提要的唯一方法是 Microsoft 口中设计的 Azure DevOps API。

声明来源:This question on VS dev community
The MS docs on project-scoped feeds

基本上,我只需要能够在这里执行 POST :
https://feeds.dev.azure.com/ {organization}/_apis/packaging/feeds?api-version=5.1-preview.1

与 body :

{
"name": "{myfeedname}",
"hideDeletedPackageVersions": true,
"upstreamEnabled": true
}

当然,还有一个 Bearer token 来验证我自己。这就是我感到困惑的地方。

获得一个的最简单方法是什么?我在 Azure DevOps 上的计算机浏览器上通过我的公司 Microsoft AD 帐户登录。在我的浏览器开发工具中,我没有看到任何可以“窃取”以在 PostMan 中使用的 Bearer token 。

API docs描述了一些相关信息,但我对如何在 Postman 中使用它感到困惑:

Security oauth2

Type: oauth2

Flow: accessCode

Authorization URL: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion

Token URL: https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer

Scopes Name Description

vso.packaging_write Grants the ability to create and read feeds and packages.



这是 Postman 中 OAuth2 的接口(interface):

Postman interface for setting up OAuth2

我可以看到文档中的信息如何与字段 1 - 2 - 3 - 4 相关联,但是,我应该使用什么回调 url ?什么凭据?我的 Microsoft 电子邮件 + 来自 AD 的密码?

我试过了,我似乎从 postman 那里得到了这个:
{"$id":"1","innerException":null,"message":"A potentially dangerous Request.Path value was detected from the client (&).","typeName":"System.Web.HttpException, System.Web","typeKey":"HttpException","errorCode":0,"eventId":0}

TLDR

如何使用 Postman 或其他工具正确获取 token 以手动执行我对 Azure DevOps REST API 的一次性请求?

笔记:

以下信息: Unable to get Authorization code for Devops using Postman oAuth2.0
,这里领先: https://github.com/Microsoft/azure-devops-auth-samples/tree/master/OAuthWebSample ,我知道我必须注册并运行整个 Web 应用程序。我理解正确吗?我有更简单的方法吗?

最佳答案

I understand that I have to register and run a whole web application. Am I understanding this correctly ? I there a simpler way ?



你是对的。您必须注册整个 Web 应用程序。

作为 Postman 中的接口(interface) OAuth2 ,我们需要提供 CallbackUrl , ClientID , ClientSecret等等。然后,我们查看文档 Requesting an OAuth 2.0 token ,我们可以知道 Callback URL是:

The client application callback URL redirected to after auth, and that should be registered with the API provider.



因此,我们必须在 Azure DevOps ( https://app.vsaex.visualstudio.com/app/register ) 中注册一个 OAuth 客户端应用程序,然后我们可以获得以下信息,例如:

enter image description here

您可以查看文档 Authorize access to VSTS REST APIs with OAuth 2.0了解更多详情。

AFAIK,目前没有更简单的方法来获取不记名 token 以向 Azure DevOps API 发送请求。

希望这可以帮助。

关于oauth - 如何简单地获取不记名 token 以向 Azure DevOps API 发送请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60283559/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com