大佬教程收集整理的这篇文章主要介绍了node.js – 基本身份验证和JWT,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我只是用它来制作一个简单的基本身份验证,这恰好不是那么简单.
这是我的Nginx配置:
upstream nodejsapp { server 127.0.0.1:1337; keepalive 15; } server { listen 80 default_server; auth_basic "Restricted"; auth_basic_user_file /etc/Nginx/.htpasswd; proxy_redirect off; location / { proxy_pass http://nodejsapp; proxy_set_header Connection "Keep-Alive"; proxy_set_header Proxy-Connection "Keep-Alive"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Nginx-Proxy true; } }
/etc/Nginx/.htpasswd文件只是user:encryptedpassword,很好.
使用此配置,当我转到我的IP时:
>问我用户和密码
>开始加载页面
>(有时)再次询问用户和密码
>完成加载页面
到目前为止这么好,即使它问了两次密码.
Node.js应用程序有一个JWT身份验证,当我登录时,网站重新加载,从这里,它无限期地询问用户和密码(基本身份验证),只要我点击登录. JWT在我的本地存储中.如果我在基本身份验证提示上单击取消,则JWT将被删除,我已注销,并且…再次询问基本身份验证.
这是在Chrome上.使用Firefox和Safari,在JWT日志记录之后,它会自动从本地存储中删除令牌(并且我已经注销).
这很难解释,我不能告诉你网站.简而言之,主要问题是删除了(node.js应用程序的)JWT.
我将我的前端应用程序配置为通过自定义标头** JWTAuthorization **发送JWToken,因此当请求到达服务器时,它包含两个标头Authorization& JWTAuthorization.然后它非常简单,在传递基本身份验证之后,我只需替换头文件(这里是基于Koa的Node.js应用程序):
app.use(function *(next) { this.headers.authorization = this.headers.jwtauthorization; yield next; });
以上是大佬教程为你收集整理的node.js – 基本身份验证和JWT全部内容,希望文章能够帮你解决node.js – 基本身份验证和JWT所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。