问题描述
我想使用REST API或SharePoint Webpart页面上的Azure DevOps应用或组织的基于会话的身份验证来获取身份验证令牌。除了个人访问令牌(PAT)方法之外,我还需要其他一些方法来验证组织的REST API。您能帮我解决一下吗?如果可能,请在JavaScript / JQuery中提供示例/演示。
我添加了一个示例,其中我使用个人访问令牌(PAT)获取组织的项目 在SharePoint页面上
var PATToken = 'xxxx7xxxx6xxxxx7xxxxxxx2xxx';//user need to replace his Personal Access Token here and run this snippent on SharePoint Page.
var orgName = 'TestRaju';
getorgProjects(orgName);
function getorgProjects(orgName) {
$.ajax({
url: 'https://dev.azure.com/' + orgName + '/_apis/projects?api-version=5.1',dataType: 'json',headers: {
'Authorization': 'Basic ' + btoa("" + ":" + PATToken)
}
}).success(function (results) {
console.log(results);
}).error(function (error) {
console.log(error);
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
解决方法
您可以尝试使用OAuth令牌:
用户授权您的应用程序
在较高级别,您调用“授权”端点并提供回调。回调必须是您应用程序中的安全网址(https)
https://app.vssps.visualstudio.com/oauth2/authorize
?client_id={app ID}
&response_type=Assertion
&state={state}
&scope={scope}
&redirect_uri={callback URL}
假设用户接受授权,Azure DevOps将使用URL中的授权代码重定向到您的回调位置。
https://fabrikam.azurewebsites.net/myapp/oauth-callback
?code={authorization code}
&state={state}
您可以参考以下情况: