我在浏览器中使用我的firebase应用程序成功验证了我的用户身份。现在我希望我的自定义后端知道用户已通过身份验证。
我该如何解决这个问题?我可以告诉客户端在我的后端的每个请求中包含firebase JWT,以便后端知道用户是否已登录? (这是必要的,以便后端不会将登录用户重定向到登录页面。)
背景研究:
firebase authentication docs解释如何获取firebase令牌,将其发送到您的自定义后端,然后使用用户数据在后端执行某些操作。对于XHR请求来说没问题,您可以告诉浏览器将令牌包含在标头中。我不了解如何让浏览器将令牌包含在服务器的正常HTTP请求中,例如当用户打开新标签并导航到https://example.com/admin
的管理面板时。
这是一个related question,但我不理解答案(或者至少我如何将其应用到我的用例中)。
答案 0 :(得分:0)
以下是jwt.io的好人如何解释它:
每当用户想要访问受保护的路由或资源时,用户代理应该使用Bearer架构发送JWT,通常在Authorization标头中。标题的内容应如下所示:
授权:持有人<令牌>
这是一种无状态身份验证机制,因为用户状态永远不会保存在服务器内存中。服务器的受保护路由将在Authorization标头中检查有效的JWT,如果存在,则允许用户访问受保护的资源。