[英]Bearer and Cookie Authentication
我有两个Web项目:MyApp和Api.MyApp。 MyApp是MVC5应用程序,而Api.MyApp是MVC WebAPI应用程序。
MyApp是一个富客户端应用程序,它为大多数操作调用API项目。 为了获得授权,我在Web api上使用了Bearer令牌,但我也想拥有一个cookie,以便可以保护MyApp MVC主项目中的某些路由。
要获取承载令牌,我可以调用“ http://api.myapp/token ”,我可以将此承载令牌放入cookie并让MVC项目识别它,还是必须发送2个单独的调用,其中1个要发送给api才能获取承载令牌和1到mvc应用程序以获取cookie。 这似乎有点多余,是否有更好的方法?
是。
假设您的应用程序对以下内容做出响应:
用户访问了您在www.example.com上的网站并提供了凭据。 然后,您的应用将对api.example.com进行AJAX调用以获取令牌。 您现在有几个选择:
.example.com
.example.com
的cookie。 如果执行此操作,则API和客户端应用程序都应有权访问基于cookie的令牌。
如果不使用.Net身份验证令牌,则可能必须基于承载cookie滚动自己的授权机制。
但是,如果您使用的是Intranet类型的域(即http://myapp/
和http://api.myapp
),则必须使用选项2,并将默认域用于Cookie(您无法设置Cookie,该域名在域中只有一个句点,否则我可以将其设置为“ .com”并在各处散布数据。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.