Express+Nodejs 和使用 Firebase 的客户端之间的用户 session
User session between Express+Nodejs and clients using Firebase
使用 Nodejs+Express 和 Firebase 身份验证存储用户 session 的常用方法是什么?我有 Android 和 Ios 应用程序,我想在(后来的网络)上使用相同的逻辑,所以我会得到 JWT 令牌。我想使用该令牌作为请求授权。另外我想保留用户会话而不要求他们再次重新登录。我不确定该怎么做,我发现的所有 Express Session 资源都是关于网络和 cookie 的。我偶然发现 upon MongoConnection a library for Express 可能将 session 存储在 MongoDb 中,但是 session 如何处理 non-web 请求?谁能帮我澄清一下,我知道我在这里忽略了这一点,因为肯定有一种简单的方法来验证传入的请求,并且还有一个 session 让用户不必每次都登录。
最好我希望有一种简单的方法来拥有需要 JWT 令牌访问的端点。除此之外,还有 session 之类的。 Firebase Admin SDK for Nodejs 中有一个验证令牌的功能,但在每个请求中都必须手动检查令牌似乎真的很奇怪。
我在后端和前端完全分开处理会话,因为我主要制作 RESTful apis。在前端,您可以随心所欲地处理会话,例如您可以在用户使用 firebase auth 进行身份验证时启动会话,并可能根据 firebase auth 用户的属性设置用户角色。使用cookies,随心所欲。
然后在后端,在每个端点上解码令牌,验证它,检查用户是否有权访问他们请求的资源等。编写自己的中间件很常见,这样您就不必重复解码代码。有关此方法的更多信息,this 可能会有所帮助。在每个请求上手动检查令牌并不奇怪,这是保证请求真实性的常见做法。希望对您有所帮助。
总而言之,将前端会话与后端完全分开。在后端的快速服务器上,在任何受保护的端点上解码并验证令牌以确定用户是否有权访问资源。
使用 firebase 的后端会话不是一个好主意(因为它是无服务器的),最好创建一个无状态的 restful api.
使用 Nodejs+Express 和 Firebase 身份验证存储用户 session 的常用方法是什么?我有 Android 和 Ios 应用程序,我想在(后来的网络)上使用相同的逻辑,所以我会得到 JWT 令牌。我想使用该令牌作为请求授权。另外我想保留用户会话而不要求他们再次重新登录。我不确定该怎么做,我发现的所有 Express Session 资源都是关于网络和 cookie 的。我偶然发现 upon MongoConnection a library for Express 可能将 session 存储在 MongoDb 中,但是 session 如何处理 non-web 请求?谁能帮我澄清一下,我知道我在这里忽略了这一点,因为肯定有一种简单的方法来验证传入的请求,并且还有一个 session 让用户不必每次都登录。
最好我希望有一种简单的方法来拥有需要 JWT 令牌访问的端点。除此之外,还有 session 之类的。 Firebase Admin SDK for Nodejs 中有一个验证令牌的功能,但在每个请求中都必须手动检查令牌似乎真的很奇怪。
我在后端和前端完全分开处理会话,因为我主要制作 RESTful apis。在前端,您可以随心所欲地处理会话,例如您可以在用户使用 firebase auth 进行身份验证时启动会话,并可能根据 firebase auth 用户的属性设置用户角色。使用cookies,随心所欲。
然后在后端,在每个端点上解码令牌,验证它,检查用户是否有权访问他们请求的资源等。编写自己的中间件很常见,这样您就不必重复解码代码。有关此方法的更多信息,this 可能会有所帮助。在每个请求上手动检查令牌并不奇怪,这是保证请求真实性的常见做法。希望对您有所帮助。
总而言之,将前端会话与后端完全分开。在后端的快速服务器上,在任何受保护的端点上解码并验证令牌以确定用户是否有权访问资源。
使用 firebase 的后端会话不是一个好主意(因为它是无服务器的),最好创建一个无状态的 restful api.