Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oauth 2.0 通过OAuth 2.0 Azure AD访问Azure DevOps API_Oauth 2.0_Azure Devops_Odata_Postman_Azure Devops Rest Api - Fatal编程技术网

Oauth 2.0 通过OAuth 2.0 Azure AD访问Azure DevOps API

Oauth 2.0 通过OAuth 2.0 Azure AD访问Azure DevOps API,oauth-2.0,azure-devops,odata,postman,azure-devops-rest-api,Oauth 2.0,Azure Devops,Odata,Postman,Azure Devops Rest Api,在postman中,我通过Azure AD使用OAuth 2.0安全性设置了访问Azure DevOps API的简单请求 在Azure AD应用程序设置上,有权在用户同意的情况下访问Azure DevOps API 我正在获取令牌,但是Azure DevOps API一直使用登录html而不是json响应返回代码203。如有任何建议,我将不胜感激 谢谢 邮递员要求 GET /[some_org]/_apis/projects?api=5.1 HTTP/1.1 Host: dev.azure.c

在postman中,我通过Azure AD使用OAuth 2.0安全性设置了访问Azure DevOps API的简单请求 在Azure AD应用程序设置上,有权在用户同意的情况下访问Azure DevOps API

我正在获取令牌,但是Azure DevOps API一直使用登录html而不是json响应返回代码203。如有任何建议,我将不胜感激

谢谢

邮递员要求

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

  • 我使用OAuth 2.0复制了您的问题 邮递员身份验证
  • 我开始更多地了解Azure DevOps的RESTAPI 我找到了文件:
  • 几个关键部分:
  • 对于Azure DevOps服务,实例是dev.Azure.com/{organization}, 因此,模式如下所示:

    如果您希望通过HTTP提供个人访问令牌 头,必须首先将其转换为Base64字符串(如下所示 示例显示如何使用C#)转换为Base64。(某些工具,如 默认情况下,Postman应用Base64编码 通过此类工具,不需要对PAT进行Base64编码)

  • 我将我的邮递员配置为使用GET请求和基本身份验证(它成功了)

    获取{organization id}/_api/projects?api版本=5.1

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

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

    实际上,允许使用带有AAD令牌的Azure DevOps API。这是一个关于c#代码的示例。如果我错了,请纠正我,但您使用的是基本的自动化,同时我需要通过Azure AD使用OAuth 2.0安全性(请检查令牌获取附加详细信息)。起初我确实尝试使用与您建议的相同的链接,但没有成功。谢谢,我只是想确认一下,您是否使用“获取新访问令牌”(通过提供回调URL、验证URL、访问令牌URL等)接收到访问令牌?我认为她正在使用post man工具通过oauth获取访问令牌,而不是使用PAT,所以令牌应该作为承载者传递@VictorialApollupan您正在这样做吗?一旦您收到令牌,您就将其作为授权标头传递。此外,如果身份验证失败,它应该返回401,而不是203。另外,您请求中的邮递员令牌与令牌相同吗?检查所有参数是否正确如果您将PAT放入postman中的access token字段(使用OAuth 2类型身份验证),您将收到203个错误。@Kamil,关于您的问题:是的,我收到了从“get new access token”调用返回的令牌(我用于获取附在本文的token get details图像下提供的令牌的详细信息)
    VERB https://dev.azure.com/{organization}/_apis[/{area}]/{resource}?api-version={version}
    
    Authorization: Basic BASE64PATSTRING