在登录网站后,重新使用SAML令牌,客户端用于JSON Web服务

Sim*_*ets 6 javascript wcf json saml single-sign-on

我正在构建一个使用SAML令牌进行单点登录的网站.其中一个表单有很多输入字段,它们应该触发对相同或其他输入字段和表内容的更新和验证.

验证和更新是处理服务器端.表单上的值更新会触发使用WCF JSON Web服务通知服务器的javascript.然后,该服务返回新值和验证消息.

问题是,应该使用通过登录到网站发布给用户的SAML令牌来保护Web服务,并且应该授予访问权限.

[编辑:完成更多研究]在进行身份验证后,SAML令牌始终以FedAuth cookie的形式传递给服务器.不需要将令牌添加到JSON(或ajax)Get头.问题是,我似乎无法让WIF处理cookie的验证.所以我从JSON服务中删除了fedarated身份验证,并尝试从HttpContext中读取cookie.哪个有效,但我无法解密.

是否有人对此表现出色?有没有经验的人?

Eug*_*ace 1

该令牌不作为 FedAuth cookie 传递。这是由网站本身生成的(实际上是由 WIF 生成的)。在 IdP 中成功进行身份验证后,令牌通常作为 POST 传递。

如果 Web 服务共同托管在同一个网站中,那么它就“正常工作”,这要归功于 WIF 的魔力。对服务的调用将包含 cookie,WIF 将愉快地解析/验证它,并为您提供一个 IPrincipal(IClaimsPrincipal)。