Microsoft 声明 TenantId 已删除、更改或不可用
Microsoft Claims TenantId Removed, Changed or unavailable
我有一个通过 OAuth 和 AzureAD 登录的网站。
我这样获取我的 OAuth AuthenticationToken:
Claim tenantClaim = ClaimsPrincipal.Current.FindFirst(TenantIdClaimType);
if (tenantClaim != null)
{
string tenantId = tenantClaim.Value;
string userObjectID = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value;
AuthenticationContext authContext = new AuthenticationContext(Startup.Authority, new NaiveSessionCache(userObjectID));
ClientCredential credential = new ClientCredential(clientId, appKey);
AuthenticationResult authenticationResult = await authContext.AcquireTokenSilentAsync(dynamicsUrl, credential, new UserIdentifier(userObjectID, UserIdentifierType.UniqueId));
return authenticationResult.CreateAuthorizationHeader();
}
它一直运行良好。我有大约 3 个月没有访问该网站,而且它不再工作了。我调试了我的代码并尝试这样做 "manually"。继续 http://schemas.microsoft.com/identity/claims/tenantid,我看到了这条消息:
The resource you are looking for has been removed, had its name
changed, or is temporarily unavailable.
它是被删除、重命名还是什么?我检查了 AzureAD,一切仍然有效(未过期)我什至创建了一个新的 appKey 并尝试了它,但它仍然无法正常工作。
我很抱歉我的英语不好我希望你们明白我在问什么以及我在说什么。如果您需要更多信息,请告诉我。
感谢您抽出宝贵时间感谢您的帮助。
此致,
又名妮可。无数
我找到了解决方案。
它与 Claims 无关,问题出在 NaiveSessionCache,因为 ADAL 更新了一个方法,因此它启动了一个新线程..
在这里找到我的答案:
我有一个通过 OAuth 和 AzureAD 登录的网站。 我这样获取我的 OAuth AuthenticationToken:
Claim tenantClaim = ClaimsPrincipal.Current.FindFirst(TenantIdClaimType);
if (tenantClaim != null)
{
string tenantId = tenantClaim.Value;
string userObjectID = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value;
AuthenticationContext authContext = new AuthenticationContext(Startup.Authority, new NaiveSessionCache(userObjectID));
ClientCredential credential = new ClientCredential(clientId, appKey);
AuthenticationResult authenticationResult = await authContext.AcquireTokenSilentAsync(dynamicsUrl, credential, new UserIdentifier(userObjectID, UserIdentifierType.UniqueId));
return authenticationResult.CreateAuthorizationHeader();
}
它一直运行良好。我有大约 3 个月没有访问该网站,而且它不再工作了。我调试了我的代码并尝试这样做 "manually"。继续 http://schemas.microsoft.com/identity/claims/tenantid,我看到了这条消息:
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
它是被删除、重命名还是什么?我检查了 AzureAD,一切仍然有效(未过期)我什至创建了一个新的 appKey 并尝试了它,但它仍然无法正常工作。
我很抱歉我的英语不好我希望你们明白我在问什么以及我在说什么。如果您需要更多信息,请告诉我。
感谢您抽出宝贵时间感谢您的帮助。
此致, 又名妮可。无数
我找到了解决方案。
它与 Claims 无关,问题出在 NaiveSessionCache,因为 ADAL 更新了一个方法,因此它启动了一个新线程..
在这里找到我的答案: