C# 基于当前经过身份验证的用户创建VssCredentials
我正在使用ADAL+Windows Azure Active Directory从Angular应用程序验证我的WebAPI应用程序的用户,如下所示:C# 基于当前经过身份验证的用户创建VssCredentials,c#,azure-devops,active-directory,adal,workitem,C#,Azure Devops,Active Directory,Adal,Workitem,我正在使用ADAL+Windows Azure Active Directory从Angular应用程序验证我的WebAPI应用程序的用户,如下所示: public void ConfigureAuth(IAppBuilder app) { app.UseWindowsAzureActiveDirectoryBearerAuthentication( new WindowsAzureActiveDirectoryBearerAuthenticationOptions
public void ConfigureAuth(IAppBuilder app)
{
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
TokenValidationParameters = new TokenValidationParameters
{
ValidAudience = ConfigurationManager.AppSettings["ida:ClientID"]
},
});
}
这是没有问题的工作
我有一些在Azure DevOps中修改工作项的代码:
Uri baseVsoUri = new Uri("https://xxxxx.visualstudio.com/DefaultCollection");
VssCredentials creds = new VssBasicCredential("", azureDevOpsPersonalAccessToken);
VssConnection conn = new VssConnection(baseVsoUri, creds);
...
await conn.UpdateWorkItemAsync(jsonPatchOperations, 1);
我面临的问题是,因为我的个人访问令牌被用于通过Azure DevOps进行身份验证,我被列为已更新工作项
是否可以为当前使用WebAPI进行身份验证的用户创建VssCredentials
对象
编辑
我尝试了问题中建议的代码,自己设置ChangedBy
属性,但我没有所需的权限:
您没有绕过规则权限。请与您的收藏管理员联系以授予此权限以启用此操作。
您可以签出此权限,以便使用ADAL通过交互式提示对用户进行身份验证并调用rest api
您还可以签出此文档,为用户生成访问令牌,然后使用该令牌调用rest api
验证您的web应用程序用户是否可以访问REST API,这样您的应用程序就不会继续请求用户名和密码。Azure DevOps服务使用OAuth 2.0协议为用户授权应用程序并生成访问令牌。从应用程序调用REST API时使用此令牌
这是你可以退房的房间
有关更多示例,请参见。您可以代表其他用户更新工作项,请检查此处的答案。哦,这可能很完美,我现在测试-谢谢@Shaykibaramczyk很遗憾,我没有使用
bypassRules
属性的权限