在Thinktecture IdentityServer 2.0中配置ADFS,使其成为身份提供者



我正在尝试设置一个示例:一个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应用程序。

希望有帮助!

最新更新