Spring微服务jwt认证
Posted
技术标签:
【中文标题】Spring微服务jwt认证【英文标题】:Spring microservice jwt authentication 【发布时间】:2019-01-07 06:29:09 【问题描述】:我一直在尝试构建一个适用于 JWT 的 Spring 分布式应用程序。 Github 仓库 - https://github.com/dhananjay12/spring-microservice-demo
服务说明
product-service : 具有受保护路由的简单下游服务 jwt-resoure-server :当包含在下游服务中时,它会成为一个 rsourceserver,用于提取 jwt 令牌并将其设置在安全上下文中。 eureka-service : 发现服务 zuul-server : 边缘服务器现在使用 jwt-resoure-server 的 product-service 可以正常工作:
设置zuul和eureka:
但是,如果我从 zuul 服务器点击,我会收到以下错误:
我正在使用 okta 进行身份验证。我不确定,错误来自哪里。是zuul没有传递令牌还是其他地方。
任何帮助将不胜感激。谢谢。
【问题讨论】:
【参考方案1】:我快速浏览了一下。看起来您的网关不是 ResourceServer,因此它不会接受访问令牌。
另外请注意,您不应该将秘密(包括访问令牌)放在 GitHub 或 *** 上。我建议你替换与这篇文章相关的秘密。
【讨论】:
在 zuul 服务器中添加 @EnableResourceServer 做到了。非常感谢。 虽然我必须提供公钥,但我必须通过 okta 提供的 json 对象中的代码来构建它,然后将其粘贴到 application.yml 中。你能推荐一个更简单的方法吗? Okta 的 Spring 集成:github.com/okta/samples-java-spring/tree/master/resource-server 它将为您处理密钥。 遇到另一个问题 - ***.com/questions/51646207/… 有什么建议吗?以上是关于Spring微服务jwt认证的主要内容,如果未能解决你的问题,请参考以下文章
Spring Cloud微服务安全实战_6-2_jwt认证之认证服务改造
Spring Cloud微服务安全实战_6-3_jwt认证之网关和服务改造
Spring cloud微服务安全实战-6-5jwt改造之日志及错误处理