我创建了简单的webapp,我动态创建了一个登录请求并发送到我的ADFS服务器。返回时,我将重定向到我在iis服务器中配置的另一个应用程序URL [同样的URL也在ADFS服务器中配置]。但不幸的是我收到如下错误信息
<i>`
issuerLocation = "https://test12.login.mytest.edu/adfs/ls/";
realm = "https://domain/SSO_Test/";
this.Request.Url.AbsoluteUri.Remove(this.Request.Url.AbsoluteUri.IndexOf(this.Request.Url.Query, StringComparison.OrdinalIgnoreCase));
var contextId = Guid.NewGuid().ToString();
this.CreateContextCookie(contextId, this.Request.Url.AbsoluteUri);
var message = new SignInRequestMessage(new Uri(issuerLocation), realm)
{
CurrentTime = DateTime.UtcNow.ToString("s", CultureInfo.InvariantCulture) + "Z",
};
this.Response.Redirect(message.RequestUrl, false);
ID1038: The AudienceRestrictionCondition was not valid because the specified Audience is not present in AudienceUris.
Audience:
请帮帮我
答案 0 :(得分:14)
如果我了解您的情况,您有一个依赖方(您的webapp)发送给身份提供商(ADFS服务器),并且一旦依赖方(您的webapp)已经过身份验证,您就会将用户重定向到另一个应用程序。
该错误引用了依赖方的配置文件AudienceUri部分。值可能会丢失或拼写错误:
<configuration>
<system.identityModel>
<identityConfiguration>
<audienceUris>
<add value="http://**YourSiteHere**/" />
</audienceUris>
</identityConfiguration>
</system.identityModel>
</configuration>
HTH
答案 1 :(得分:3)
有时可能是因为尾随斜线&#34; /&#34; ......这就是我的问题。从错误消息中复制URL并将其添加到audienceUris,它开始正常工作。