标签: jwt

在 springdoc-openapi-ui 中为不记名令牌认证 (JWT) 启用授权按钮

如何在springdoc-openapi-ui (OpenAPI 3.0 /swagger-ui.html) 中为不记名令牌认证启用“授权”按钮,例如 JWT。

Spring@Controller@Configuration类需要添加哪些注解?

授权按钮

不记名令牌认证的授权表

java spring jwt openapi springdoc

23
推荐指数
3
解决办法
1万
查看次数

Auth0中id_token和access_token的区别是什么

在Auth0中,您可以使用刷新令牌.在此链接中,我们可以看到许多返回的参数:

lock.showSignin({
  authParams: {
    scope: 'openid offline_access'
  }
}, function (err, profile, id_token, access_token, state, refresh_token) {
  // store refresh_token
});
Run Code Online (Sandbox Code Playgroud)

显然,access_tokens可用于检索用户配置文件数据.但这似乎是oauth特有的,我认为auth0使用openid?

id_token和之间有什么区别access_token

javascript openid oauth jwt auth0

22
推荐指数
2
解决办法
6278
查看次数

在jwt中存储用户ID的位置

我正在为一个api令牌创建一个jwt.我将用户ID放入jwt中,因此我知道谁正在调用api.我在哪里将用户ID放在jwt中.

我已经看到许多不同的例子,它们把它放在'sub','aud'甚至'iss'中.哪个是正确的.或者用户ID是否以非注册名称进行?

jwt

22
推荐指数
1
解决办法
1万
查看次数

Go和JWT - 简单认证

我正在制作一个API(带go),我正在开发会话部分.在研究了什么用于会话后,我发现JWT真的很有趣.

但是我不太确定在一些教程之后理解如何使用它.所以这是我的想法:

func main() {

    router := mux.NewRouter().StrictSlash(true)

    router.HandleFunc("/login", login)
    router.HandleFunc("/logout", logout)
    router.HandleFunc("/register", register)

    http.ListenAndServe(":8080", router)

 }
Run Code Online (Sandbox Code Playgroud)

处理完这些请求后,我创建了不同的函数.

func login(w http.ResponseWriter, r *http.Request) {
    /*                                                                                                                                                                                                   
    Here I just have to search in my database (SQL, I know how to do it). If the user is registered, I create a token and give it to him, but how can I do it?                                           
    */
 }

 func logout(w http.ResponseWriter, r *http.Request) {
    /*                                                                                                                                                                                                   
    I get a token and stop/delete it?                                                                                                                                                                    
    */
 }

 func …
Run Code Online (Sandbox Code Playgroud)

go jwt

22
推荐指数
2
解决办法
2万
查看次数

如何验证通过cookie传递的JWT?

UseJwtBearerAuthenticationASP.NET Core中的中间件可以轻松验证Authorization标头中传入的JSON Web令牌.

如何验证通过cookie而不是标头传递的JWT?有点像UseCookieAuthentication,但对于只包含JWT的cookie.

cookies jwt asp.net-core

22
推荐指数
3
解决办法
1万
查看次数

Spring Cloud + Zuul + JWT for Value/Reference Tokens

在阅读了文章如何控制微服务中的用户身份后, 我一直在尝试实现这样的访问控制方案(值和参考令牌),但在经历了与Spring Security + OAuth + Zuul相关的GitHub中的多个其他主题和示例后,我找不到如何实现这一目标的具体例子.所有涉及JWT的示例都会在返回令牌时返回用户详细信息,这就是我想要避免的内容.用户详细信息永远不应该直接到达客户端,而应该传递给后端服务.Spring Security + AngularJs教程有很多关于如何将应用程序发展为安全应用程序的信息,但是使用Access Token或者提到了通过JWT直接获取用户详细信息的可能性.

这太问题,使用Zuul作为认证网关通过@ phoenix7360,正是我一直在试图实施办法,但它只提供开展这类的微服务安全方法所需要的配置的简要概述.请参考这个问题中的图像,以便清楚地了解它将如何发展.

我无法完全理解如何配置Zuul预过滤器以及Authorization Server的配置应该是什么样子.如文章和SO问题所述,流程将如下所示:

外部(HTTPS)

  1. 客户端对OAuth2服务器进行身份验证
  2. OAuth服务器返回不透明的访问令牌(没有其他信息的UUID)
  3. 客户端使用授权标头中的访问令牌向API网关发送请求
  4. API网关使用授权标头中的访问令牌向OAuth服务器请求用户详细信息
  5. OAuth服务器检查访问令牌是否有效,并以JSON格式返回用户信息

内部(HTTP/S)

  1. API网关使用用户详细信息创建JWT并使用私钥对其进行签名
  2. API网关添加JWT以请求并将其发送到资源服务器
  3. 资源服务器使用API​​网关的公钥验证JWT

注意:如果OAuth服务器指示访问令牌不再有效,则API网关应返回错误.

ZuulFilter将如何运作?是否需要针对OAuth服务器发出新请求(例如,通过RestTemplate),或者当前实现是否支持这些方案.OAuth和Zuul的JavaConfig条款是否需要任何特定配置?如果有人知道一个真正有用的工作示例,并且对于此主题的未来参考将是很好的.

我正在使用Spring Boot(1.4.0-M3)+ Spring OAuth + Spring Cloud(Eureka,Ribbon,Zuul)

我知道这个问题与以前链接的问题非常相似,如果这不是正确的做法,我道歉,但我认为新的线程比在SO线程上寻求帮助更好,旨在解决其他问题问题.

提前致谢!

oauth spring-security jwt spring-boot netflix-zuul

22
推荐指数
1
解决办法
7837
查看次数

在json web令牌中使用nbf

nbf:定义JWT不得接受处理的时间

nbf在json web令牌中找到了这个定义.但还是想知道它的用途nbf是什么?为什么我们用这个?它与安全期限有关吗?

任何想法将不胜感激.

jwt json-web-token

22
推荐指数
1
解决办法
1万
查看次数

不推荐从字符串中隐式转换键。请使用 InMemory 或 LocalFileReference 类。[Laravel/护照]

我今天使用 laravel/passport 进行 api 身份验证我的旧访问令牌不起作用,当我尝试生成新的访问令牌时,我得到了

不推荐从字符串中隐式转换键。请使用 InMemory 或 LocalFileReference 类。{"exception":"[object] (ErrorException(code: 0): 不推荐从字符串隐式转换键。请使用 InMemory 或 LocalFileReference 类。

有人有任何解决方案吗?

jwt laravel laravel-passport

22
推荐指数
2
解决办法
9236
查看次数

如何加密JWT安全令牌?

我需要通过签名和加密来保护我的网络令牌.我编写了下一行代码:

var tokenHandler = new JwtSecurityTokenHandler();
var tokenDescriptor = new SecurityTokenDescriptor
{
      Subject = new ClaimsIdentity(new[]
         {
             new Claim(ClaimTypes.Name, owner.Name),
             new Claim(ClaimTypes.Role, owner.RoleClaimType),
             new Claim("custom claim type", "custom content")
         }),
      TokenIssuerName = "self",
      AppliesToAddress = "http://www.example.com",
      Lifetime = new Lifetime(now, now.AddSeconds(60 * 3)),
      EncryptingCredentials = new X509EncryptingCredentials(new X509Certificate2(cert)),
      SigningCredentials = new X509SigningCredentials(cert1)
};
var token = (JwtSecurityToken)tokenHandler.CreateToken(tokenDescriptor);            
var tokenString = tokenHandler.WriteToken(token);
Run Code Online (Sandbox Code Playgroud)

所以,我正在使用一些生成的证书makecert.exe.然后我用另一个读取令牌字符串JwtSecurityTokenHandler:

var tokenHandlerDecr = new JwtSecurityTokenHandler();
var tok = tokenHandlerDecr.ReadToken(tokenString);
Run Code Online (Sandbox Code Playgroud)

并且令牌内容未加密(我可以tok在调试器下看到变量中的json ).我究竟做错了什么?如何加密令牌数据?

c# security wif jwt

21
推荐指数
3
解决办法
2万
查看次数

Google OAuth2 JWT令牌验证例外

我最后一小时面临OAuth2 JWT令牌验证异常(所以没有人可以访问我的应用程序):

java.security.SignatureException:签名长度不正确:得到256但是期望128.我正在使用google-http-client 1.20.0Java 1.7.0.到目前为止相同的配置 - 任何想法?

Stacktrace

java.security.SignatureException: Signature length not correct: got 256 but was expecting 128
    at sun.security.rsa.RSASignature.engineVerify(Unknown Source) ~[na:1.7.0_45]
    at java.security.Signature$Delegate.engineVerify(Unknown Source) ~[na:1.7.0_45]
    at java.security.Signature.verify(Unknown Source) ~[na:1.7.0_45]
    at com.google.api.client.util.SecurityUtils.verify(SecurityUtils.java:164) ~[google-http-client-1.20.0.jar:1.20.0]
Run Code Online (Sandbox Code Playgroud)

java jwt google-http-client java-security

21
推荐指数
2
解决办法
4218
查看次数