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