MVC 5身份验证

时间:2015-04-23 19:37:30

标签: asp.net-mvc asp.net-web-api asp.net-mvc-5 forms-authentication owin

我有一个带有承载令牌身份验证的Web API 2,其中外部站点在我的api中进行身份验证并通过在请求标头中发送令牌来发出请求,但我还有一个MVC 5网站,其中身份验证应该是自动的在这个网站上,Web API将有一个重定向到这个网站的方法,它应该已经开放认证,这个网站只有一个客户端,web api,用户通过web api进行了身份验证。

如何自动验证网站? 我想以两种不同的方式来解决这个问题:

  1. 使用身份验证Cookie,我在其中执行从web api到站点的重定向,传递登录信息(放在web.config中,包含用户和密码,或者一种密钥),然后,网站执行验证并为浏览器设置cookie。
  2. 在web api和web站点中使用bearer身份验证(在web.config上使用相同的Machine Key),当web api重定向到Web站点时,它会传递为客户端生成的bearer token,但是当用户导航时在网站上,我需要一直在标题中传递这个标记,我认为在web api和网站之间共享这个标记并不是一个好主意,当导航结束时,进程需要回到web api,必须验证agaIn或将相同的令牌传递给web api。
  3. 哪种方法最正确?或者还有其他方法可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

我会选择选项2,您可以使用令牌身份验证以及您需要的声明,以确定传入的请求来自您的API。它是无状态的,简单的,你不需要在URL之间传递合理的数据

相关问题