【发布时间】:2015-07-02 04:34:53
【问题描述】:
我有一个带有不记名令牌身份验证的 Web API 2,其中外部站点在我的 api 中进行身份验证并通过在请求标头中发送令牌来发出请求,但我也有一个 MVC 5 网站,其中身份验证应该是自动的这个网站,Web API 将有一个重定向到这个网站的方法,它应该已经打开了认证,这个网站将只有一个客户端,web api,并且用户来自 web api 的认证。
如何自动验证网站? 我想了两种不同的方法来解决这个问题:
- 使用身份验证 cookie,我在其中执行从 web api 到传递登录信息的站点的重定向(放置在 web.config 中,带有用户和密码,或一种密钥),然后,网站执行身份验证并为浏览器设置 cookie。
- 在 web api 和网站中使用不记名身份验证(在 web.config 上使用相同的机器密钥),当 web api 重定向到网站时,它会传递为客户端生成的不记名令牌,但是当用户导航时在网站上,我需要一直在标头中传递这个令牌,我认为在 web api 和网站之间共享这个令牌不是一个好主意,当导航结束时,流程需要返回web api,并且必须再次进行身份验证或将相同的令牌传递给 web api。
以下哪种方法最正确?还是有其他方法可以解决这个问题?
【问题讨论】:
标签: asp.net-mvc asp.net-web-api asp.net-mvc-5 forms-authentication owin