我正在尝试创建一个MVC5 Web应用程序,配置为使用内部组织认证选项(ADFS),如上所述Here by Vittorio Bertocci
首先,我创建了新的MVC项目。然后我将身份验证更改为内部部署。将内部部署权限设置为我的ADFS联合元数据端点。我检查以确保可以访问联合元数据xml。我将App ID URI字段留空,接受默认值。我做了两个,提供了一个值并留空。
然后我手动配置了我的依赖方应用。将依赖方WS-Federation Passive Protocol URL设置为Visual Studio提供的https://localhost:44300
。此值是作为信任标识符给出的唯一值。
最后,我为好的衡量标准绘制了2种索赔类型;显示名称和用户主体名称。所有这些都是由示例链接提供的。
然后我运行(F5)ADFS登录弹出一般错误。我转到ADFS服务器并找到以下详细错误。
发展环境 我有3台服务器和1台客户端
我一直在从ADFS
中收到以下错误消息Encountered error during federation passive request.
Additional Data
Protocol Name:
wsfed
Relying Party:
https://localhost:44300/
Exception details:
Microsoft.IdentityServer.Web.InvalidScopeException: MSIS7007: The requested relying party trust 'https://localhost:44300/' is unspecified or unsupported. If a relying party trust was specified, it is possible that you do not have permission to access the trust relying party. Contact your administrator for details.
at Microsoft.IdentityServer.Web.Protocols.WSFederation.WSFederationSignInContext.Validate()
at Microsoft.IdentityServer.Web.Protocols.WSFederation.WSFederationProtocolHandler.GetRequiredPipelineBehaviors(ProtocolContext pContext)
at Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context)
感谢任何帮助。
答案 0 :(得分:4)
如维托里奥的第一个回复中所提到的,您的应用程序发送的依赖方标识符似乎与ADFS中注册的标识符不匹配。这不应该需要新的vanilla ADFS设置。我建议如下:
让我知道这是否适合您。
- 萨姆
答案 1 :(得分:1)
您似乎使用https://localhost:44300
定义了您的RP信任,但事实上您正在发送https://localhost:44300**/**
。尾部斜线对于这种比较很重要! :-)我建议每个领域使用一个逻辑标识符,或在RP信任中添加尾部斜杠。
HTH
诉