我得到以下异常:AADSTS90122:用户标识符不存在
打电话时:authContext.AcquireTokenAsync(resourceId,clientCred,userAssertion
完整代码:
ClientCredential clientCred = new ClientCredential(clientId, clientSecret);
var bootstrapContext = ClaimsPrincipal.Current.Identities.First().BootstrapContext as System.IdentityModel.Tokens.BootstrapContext;
string userName = ClaimsPrincipal.Current.FindFirst(ClaimTypes.Upn) != null ? ClaimsPrincipal.Current.FindFirst(ClaimTypes.Upn).Value : ClaimsPrincipal.Current.FindFirst(ClaimTypes.Email).Value;
string userAccessToken = bootstrapContext.Token;
UserAssertion userAssertion = new UserAssertion(userAccessToken, "urn:ietf:params:oauth:grant-type:jwt-bearer", userName);
string authority = aadInstance + tenantId;
AuthenticationContext authContext = new AuthenticationContext(authority, false, null);
var result = await authContext.AcquireTokenAsync(resourceId, clientCred, userAssertion);100%验证参数和访问权限。代码运行了几个月,昨天才开始挂起:/
发布于 2017-04-14 04:45:05
Azure活动目录的这个问题现在似乎已经解决了。我现在可以代表用户成功地使用UserAssertion和ClientCredentials (从4月13日起)获得令牌。这在过去的几天里不起作用了。
https://stackoverflow.com/questions/43370145
复制相似问题