我有一个后端服务器,为REST API实现基于JWT的身份验证。虽然前端webapp是用angular js开发的,但我计划将JWT存储在HTTPOnly cookie中(具有CSRF保护)。这些REST API也可以由本机android应用程序访问。但是,本机android应用似乎无法设置cookie。我想避免将JWT存储在浏览器本地存储中。
是否存在一种通用且安全的方法来实现适用于Web应用程序和本机android移动应用程序的REST API的基于JWT的身份验证?
我以前曾想过使用USER-AGENT来区分webapp和移动应用程序并实现两种不同的身份验证机制。
答案 0 :(得分:0)
如果您使用协议(OAuth 2.0),则只能使用片段,查询字符串或表单发布(取决于客户端首选项)而不是cookie将令牌发送给用户! 他们如何存储令牌取决于他们。 一旦您向公共客户发送东西,便无处可放。您最好将令牌放置在本地存储或会话存储中,而不要放置在可能导致CSRF攻击的cookie中。 Access_Token是短暂的,它的泄漏应该不会造成危害。