我正在尝试做这样的事情:
- 我有一个 MVC4 Web 应用程序和一个 Web-API 服务(托管在 azure 中的两个不同角色上)
- 另一个角色运行 CustomSTS1。
- MVC Web 应用信任 CustomSTS1
- 现在客户登录到他被重定向到 STS 登录页面的站点。
- 登录后,他将被重定向回 MVC 网站。
- 从这个网站,客户执行操作,然后调用 web-API 服务。
我在 Web 应用程序中有 SAML 令牌,我将其传递给 WebAPI 服务。
现在,当我尝试在 Web API 端验证 SAML 令牌时,我得到一个
Message=ID1032: At least one 'audienceUri' must be specified in the SamlSecurityTokenRequirement when the AudienceUriMode is set to 'Always' or 'BearerKeyOnly'. Either add the valid URI values to the AudienceUris property of SamlSecurityTokenRequirement, or turn off checking by specifying an AudienceUriMode of 'Never' on the SamlSecurityTokenRequirement.
这没有 Web API 服务信任 CustomSTS1
设置信任后,每当我尝试向 WEB API 服务发出 HTTP Get 请求时,总是会收到 HTTP 401: UNAUTHORIZED。
现在,我的问题是,(我知道我目前的方法肯定是错误的)
- 如何设置与 CustomSTS1 的信任关系,以便 WebAPI 服务能够代表登录到 MVC 站点的用户执行 ActAS?
或者
- 这个架构错了吗?
- 还有另一种方法可以实现这一目标吗?