草庐IT

JWT-auth

全部标签

javascript - JWT:用户打开新标签页时如何处理 GET 请求?

在以API为中心的应用程序上使用JWT而不是Cookies有很多优势,我知道您可以在通过浏览器访问应用程序时将token存储在sessionStorage上。您可以在JS代码上设置一个拦截器,以在GET请求的授权header上注入(inject)JWTtoken——只要这些GET请求是从对用户进行身份验证的相同代码发出的。但是当用户通过身份验证,然后打开一个新选项卡并尝试访问应用程序/网站的不同限制区域(甚至相同区域)时会发生什么?在这种情况下,没有拦截器将token注入(inject)新选项卡上的授权header。我想服务器将收到GET请求,在Authorizationheader上

javascript - 从 javascript 获取 HTTP Basic Auth 用户名?

我有一个只能通过http基本身份验证访问的网页。我怎样才能找出该页面中javascript中的基本身份验证用户名。即当有人访问它时(登录后),我想制作一个弹出窗口,上面写着“你好,你目前以用户$USERNAME身份登录” 最佳答案 这不可能完全来自JavaScript。您必须让服务器端脚本从请求中获取用户名,并将其插入生成的页面代码中,以便脚本获取。(例如varusername=(在此处插入JSON编码的字符串);。 关于javascript-从javascript获取HTTPBasic

javascript - Google api auth2 signOut 不工作

首先,我正在遵循本指南https://developers.google.com/identity/sign-in/web/和这个引用https://developers.google.com/identity/sign-in/web/reference.但我没有在window中声明回调,而是使用gapi.signin2.render函数来呈现按钮并在我的AngularController中为它附加一个处理程序。登录工作正常,问题是,当我尝试通过调用gapi.auth2.getAuthInstance().signOut()注销时,它只是不这样做。我注意到accounts.google

javascript - 在 Passportjs 中刷新 JWT token

我正在使用passport-openidconnect策略,它运行良好,但session的到期时间很短3600秒,我认为它不可更改。我会使用刷新token来获取另一个tokenID吗?如果我这样做,我会在哪里添加这样的逻辑?https://github.com/passport/express-4.x-openidconnect-example/blob/master/server.js 最佳答案 session的到期时间可以从身份验证提供者端进行配置。例如假设您使用auth0作为身份验证提供程序,那么您可以在应用程序设置(http

javascript - 仅从 firebase 导入 auth 和 firestore

我正在尝试减少我的vuejs应用程序中的firebase库大小。我目前将firebase导入为import*asfirebasefrom'firebase';require("firebase/firestore");在我的vendor文件中,我有数据库和消息服务,但我没有用到它们。如何只将auth和firestore导入到firebase对象中? 最佳答案 首先你需要导入核心import*asfirebasefrom'firebase/app';然后导入需要的模块import'firebase/auth';import'fireb

javascript - 如何对所有路由 Root 和 Child Routes 使用 angular 6 Route Auth Guards?

如何为所有路由Root和ChildRoutes使用angular6RouteAuthGuards? 最佳答案 1)[创建守卫,文件名类似于auth.guard.ts]nggenerateguardauthimport{Injectable}from'@angular/core';import{CanActivate,ActivatedRouteSnapshot,RouterStateSnapshot}from'@angular/router';import{Observable}from'rxjs/Observable';impor

javascript - 如何在客户端解码 JWT token 负载?

我正在使用jwttoken进行身份验证,并希望在客户端读取负载信息。现在我正在做这样的事情:varpayload=JSON.parse(window.atob(token.split('.')[1]));有没有更好的方法在浏览器中使用jwttoken? 最佳答案 这个简单的解决方案返回原始token、header和有效负载:functionjwtDecode(t){lettoken={};token.raw=t;token.header=JSON.parse(window.atob(t.split('.')[0]));token.p

javascript - 如何防止 Firefox 使用 HTTP Basic Auth 和 JQuery AJAX 提示输入用户名/密码?

我正在编写一些浏览器端动态功能并使用HTTPBasicAuth来保护一些资源。用户体验非常重要,并且是高度定制的。这是一个简单的测试JQuery方法,它最终将测试用户是否在表单中提供了正确的凭据:$(document).ready(function(){$("#submit").click(function(){vartoken=Base64.encode($('#username').val()+':'+$('#password').val());$.ajax({url:'/private',method:'GET',async:false,beforeSend:function(r

javascript - Firefox 3 书签中的 Http Auth

我正在尝试创建一个小书签,用于将del.icio.us书签发布到一个单独的帐户。我从命令行测试了它:wget-O---no-check-certificate\"https://seconduser:thepassword@api.del.icio.us/v1/posts/add?url=http://seet.dk&description=test"效果很好。然后我想在我的firefox中创建一个小书签。我在谷歌上搜索了一下,发现了点点滴滴,结果是:javascript:void(open('https://seconduser:password@api.del.icio.us/v1

javascript - jwt 认证 : cookie vs header

有很多文章讨论在客户端存储JWT的最佳位置。简而言之,它们都是关于-仅限Http的安全cookie-无XSS,但易受XSRF攻击header(保存在本地存储或DOM中)-无XSRF,但易受XSS攻击我想我想出了一个非常精明的解决方案,但是,由于我在安全方面完全是菜鸟,我不确定它是真的精明还是愚蠢。那么,如果将JWT拆分,一部分保存在cookie中,另一部分保存在header中呢?它会牢不可破吗?这也应该解决“注销”问题-删除header部分会使浏览器无法登录。最好的问候,尤金。 最佳答案 JWT需要保持在一起,否则签名验证将无法进行