基于 Cookie 的身份验证和 Web API
Posted
技术标签:
【中文标题】基于 Cookie 的身份验证和 Web API【英文标题】:Cookie-based authentication and web API 【发布时间】:2014-05-28 17:21:53 【问题描述】:我正在为我的服务构建一个公共 Web API。网页和原生移动应用程序(ios、android 和 Windows 8)同样会使用它。
我应该使用基于 cookie 的身份验证吗?我的意思是,这是这种情况的最佳做法吗?
更多信息: 在对身份验证/授权/openId-connect 字段进行了一些研究之后,我意识到大多数事情都是由浏览器处理的,我的意思是,重定向、coockie 插入和相关的“样板”东西......当我想关于我必须在本地应用程序中复制的所有样板,我想知道该模型是否最适合移动应用程序。我的意思是,也许还有另一种更适合移动原生的方式...
Ps:我知道这还是有点笼统,只是我是安全领域的初学者,我仍然不知道如何正确表达我的怀疑/担忧/“懒惰”......
【问题讨论】:
请尝试添加更多详细信息。您是否已经研究过一些替代方案,以便您可以命名它们。您的应用程序有哪些个别特征。你需要为一个成功的问题付出更多的努力。 @AlojzJanez 看看...如果不够好,可以问我问题,以便我回答吗???我认为也许这样我可以更快地达到“富问题状态”...... 【参考方案1】:API 本身应该是无状态的,并且不管理任何会话。对 API 的每个请求都应使用身份验证详细信息(例如 OAuth 令牌)。
如果网页和移动应用程序需要维护某种会话,那么应该由它们作为服务的客户端来维护该状态。例如,网页可能会为用户设置会话 cookie,但原生移动应用可能需要完全不同的方法。
另请参阅:If REST applications are supposed to be stateless, how do you manage sessions?
【讨论】:
以上是关于基于 Cookie 的身份验证和 Web API的主要内容,如果未能解决你的问题,请参考以下文章
Asp.net core 3.1 保护 API 和 Web 应用程序
(Monaca,Cordova)带有表单身份验证(Cookie)的 Web API 请求不起作用
使用 Spring Security 和 Redis 对带有 Java 配置的 RESTFul api 进行基于 Cookie 的身份验证