将 Auth0 与 MERN 堆栈一起使用
Using Auth0 with MERN stack
我正在尝试使用 MERN
堆栈实现 Auth0
身份验证。
然而,这令人困惑,因为 React
似乎只在验证时与 Auth0
服务器通信,如此处的教程所示。 https://auth0.com/docs/quickstart/spa/vanillajs
那么 nodeJS
服务器是否假设从客户端发送的任何令牌都是合法的?服务器不对客户端发送的令牌进行任何身份验证?这不是很冒险吗,因为令牌存储在前端的 LocalStorage
中?
您说得对,此时您的资源服务器未受到保护。您所指的教程仅通过 auth0 身份验证 API 对用户进行了身份验证。但是,您仍然需要保护资源服务器。
一个基本的标准流程是:用户从前端请求受保护的资源 -> 前端将访问令牌从本地存储发送到节点服务器 -> 节点服务器接受访问令牌 -> 节点服务器解码访问令牌,执行多个有效性检查(过期、受众等)-> 节点服务器 return 如果访问令牌通过检查则保护资源。
所以你只需要设置你的节点服务器来接受和检查 JWT。
https://auth0.com/docs/quickstart/backend/nodejs
我正在尝试使用 MERN
堆栈实现 Auth0
身份验证。
然而,这令人困惑,因为 React
似乎只在验证时与 Auth0
服务器通信,如此处的教程所示。 https://auth0.com/docs/quickstart/spa/vanillajs
那么 nodeJS
服务器是否假设从客户端发送的任何令牌都是合法的?服务器不对客户端发送的令牌进行任何身份验证?这不是很冒险吗,因为令牌存储在前端的 LocalStorage
中?
您说得对,此时您的资源服务器未受到保护。您所指的教程仅通过 auth0 身份验证 API 对用户进行了身份验证。但是,您仍然需要保护资源服务器。
一个基本的标准流程是:用户从前端请求受保护的资源 -> 前端将访问令牌从本地存储发送到节点服务器 -> 节点服务器接受访问令牌 -> 节点服务器解码访问令牌,执行多个有效性检查(过期、受众等)-> 节点服务器 return 如果访问令牌通过检查则保护资源。
所以你只需要设置你的节点服务器来接受和检查 JWT。 https://auth0.com/docs/quickstart/backend/nodejs