首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Azure 2.0 Azure AD访问Azure DevOps API

通过Azure 2.0 Azure AD访问Azure DevOps API
EN

Stack Overflow用户
提问于 2019-09-25 11:32:24
回答 1查看 6K关注 0票数 3

在postman中,我设置了访问Azure DevOps API的简单请求,使用OAuth 2.0安全性通过Azure AD https://learn.microsoft.com/en-us/rest/api/azure/devops/core/projects/list?view=azure-devops-rest-5.1在Azure AD应用程序安装程序上进行访问,并允许用户同意访问Azure DevOps API

我得到令牌,但是Azure DevOps API继续返回代码203,在html中使用符号,而不是json。如有任何建议,我将不胜感激

谢谢

邮递员请求

代码语言:javascript
复制
GET /[some_org]/_apis/projects?api=5.1 HTTP/1.1
Host: dev.azure.com 
Authorization: Bearer [something] 
User-Agent: PostmanRuntime/7.17.1 
Accept: */* 
Cache-Control: no-cache 
Postman-Token: [something] 
Accept-Encoding: gzip, deflate 
Cookie: VstsSession=[something] 
Referer: https://dev.azure.com/[some_org]/_apis/projects?api=5.1 
Connection: keep-alive cache-control: no-cache

令牌获取详细信息

EN

回答 1

Stack Overflow用户

发布于 2019-10-21 12:02:17

  1. 我在Postman中使用OAuth 2.0身份验证成功地复制了您的问题。
  2. 我开始更多地了解Azure DevOps的REST,并找到了该文档:

https://learn.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-5.1

  1. 少数几个关键部分:

对于Azure DevOps服务,实例是dev.azure.com/{organization},因此模式如下所示:

代码语言:javascript
复制
VERB https://dev.azure.com/{organization}/_apis[/{area}]/{resource}?api-version={version}

如果希望通过HTTP头提供个人访问令牌,则必须首先将其转换为Base64字符串(下面的示例演示如何使用C#将其转换为Base64 )。(某些工具,如邮递员,默认应用Base64编码。如果您正在通过此类工具尝试API,则不需要对PAT进行Base64编码)。

代码语言:javascript
复制
Authorization: Basic BASE64PATSTRING
  1. 我将我的邮递员配置为使用GET请求和基本身份验证(它成功了) 获取http://dev.azure.com/{organization-id}/_apis/projects?api-version=5.1

有关Azure DevOps REST的个人访问令牌的更多信息可用。

这里

这里是关于Azure、DevOps、REST和OAuth 2.0身份验证这里的页面,有关于如何注册应用程序以生成授权所需的OAuth 2.0凭据的信息。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58097410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档