nodejs中的授权和认证
Authorization and authentication in nodejs
用户通过身份验证后发回的授权令牌如何存储在浏览器中,并且可以在相同的api中用于其他路由的授权,直到令牌在他之后从用户的数据库中删除注销?
我用邮递员也一样。在 Headers 部分,我得到了授权令牌作为响应 header。但是,这一切如何在浏览器的真实登录页面中发挥作用?
一些介绍,
授权令牌通常是 JWT,并在服务器上使用一些密钥创建,像 https://www.npmjs.com/package/jsonwebtoken 这样的库主要用于 NodeJs。可以使用不同的策略使用 Passport JS 使其更加安全和开放 3rd 方集成(如 Google、FB 等)。
现在你的问题,
当用户最初使用他的有效凭据登录系统时,服务器会生成一个带有 密钥 的 JWT 令牌,并在响应中发送它 header。客户端(浏览器)将此令牌保存在 cookie 或本地存储中,并为下一个请求在请求 header 中发送此令牌。服务器有密钥,可以验证令牌的有效性,可以继续或拒绝请求。
理想情况下,应该使用在 1 小时(取决于用例)左右过期的令牌,并且出于安全原因不要使用 non-expiring 或过期时间长的令牌。
大致是这样的,有什么不明白的请告诉我。
你好,你可以检查这个基于 oauth2-server 的示例 OAuth2 你可以在这里找到 repo:https://github.com/gerardabsi/NodeJS-OAuth2
要在浏览器中存储令牌,您可以使用 cookie 或浏览器网络存储 (localStorage/sessionStorage)。看到这个 link for browser web storage. For those routes which need authorization you should send back the token in a header or cookie. this blog post 可能对您有更多帮助。
用户通过身份验证后发回的授权令牌如何存储在浏览器中,并且可以在相同的api中用于其他路由的授权,直到令牌在他之后从用户的数据库中删除注销?
我用邮递员也一样。在 Headers 部分,我得到了授权令牌作为响应 header。但是,这一切如何在浏览器的真实登录页面中发挥作用?
一些介绍,
授权令牌通常是 JWT,并在服务器上使用一些密钥创建,像 https://www.npmjs.com/package/jsonwebtoken 这样的库主要用于 NodeJs。可以使用不同的策略使用 Passport JS 使其更加安全和开放 3rd 方集成(如 Google、FB 等)。
现在你的问题,
当用户最初使用他的有效凭据登录系统时,服务器会生成一个带有 密钥 的 JWT 令牌,并在响应中发送它 header。客户端(浏览器)将此令牌保存在 cookie 或本地存储中,并为下一个请求在请求 header 中发送此令牌。服务器有密钥,可以验证令牌的有效性,可以继续或拒绝请求。
理想情况下,应该使用在 1 小时(取决于用例)左右过期的令牌,并且出于安全原因不要使用 non-expiring 或过期时间长的令牌。
大致是这样的,有什么不明白的请告诉我。
你好,你可以检查这个基于 oauth2-server 的示例 OAuth2 你可以在这里找到 repo:https://github.com/gerardabsi/NodeJS-OAuth2
要在浏览器中存储令牌,您可以使用 cookie 或浏览器网络存储 (localStorage/sessionStorage)。看到这个 link for browser web storage. For those routes which need authorization you should send back the token in a header or cookie. this blog post 可能对您有更多帮助。