我正在尝试设置一个示例:一个web应用程序使用活动目录登录通过thinktecture身份服务器2.0。
Active Directory和Thinktecture IdentityServer都安装在同一台机器上。
我配置了Thinktecture IdentityServer以使用Active Directory联合服务作为身份提供者。并且Thintecture IdentityServer成为应答方信任。
当我从web应用程序请求登录操作时,有两个错误记录在ADFS上:
因为我没有足够的声誉,我将屏蔽地址"https://x.x.x"。x/idsrv/" to idsrvAddress
:事件ID: 184
收到了由密钥'idsrvAddress'标识的依赖方的令牌请求,但由于密钥没有标识任何已知的依赖方信任,因此无法满足请求。关键字:idsrvAddress
请求失败。
用户操作如果该密钥代表一个应该为其颁发令牌的URI,请验证其前缀是否与AD FS配置数据库中配置的依赖方信任相匹配。
第二:事件ID: 364
在联合被动请求期间遇到错误。
附加数据
异常细节:Microsoft.IdentityServer.Web.InvalidScopeException: MSIS7007:请求的依赖方信任'idsrvAddress'未指定或不支持。如果指定了依赖方信任,则您可能没有访问该信任依赖方的权限。
请告诉我该怎么做!
这个问题很老,但是没有人回答,所以我决定分享这个提示。invalidscopeexception也出现在我的情况下,解决方案是在指定依赖方标识符的同时仔细检查ADFS的正确大小写(上/下)。这显然是我正在使用的ADFS 3.0中的错误。
- 打开AD FS管理控制台
- 转到依赖方信托
- 右键单击依赖方信任定义,选择"属性" 列表项在出现的对话框中,选择"标识符"选项卡
- 从事件查看器错误消息中复制标识符 粘贴到"依赖方标识符"文本框中,点击"添加"。
如果旧标识符看起来相同,但使用不同的大小写编写,则可能需要删除它。对话框阻止添加,但在内部,ADFS显然使用区分大小写的比较。
以上帮助我摆脱了错误。当然,你可能会面临不同的问题。: -)
如果您面临错误"异常详细信息:Microsoft.IdentityServer.Web.InvalidScopeException: MSIS7007:请求的依赖方信任'idsrvAddress'未指定或不支持。如果指定了依赖方信任,则您可能没有访问该信任依赖方的权限。详细信息请与管理员联系。"
请尝试从已登录到域的系统登录。
我们在配置ADFS和WAP (Web Application Proxy)在访问Outlook之前对用户进行身份验证时遇到了同样的问题。
问题是我们重新配置了依赖方对ADFS的信任(删除然后创建一个新的,而不是编辑),而没有在WAP上重新配置已发布的web应用程序。因此,每当您在ADFS上重新创建依赖方信任时,您都必须在WAP上重新配置已发布的web应用程序。
希望有帮助!