Java Spring云负载平衡userInfoUri问题
Im使用spring cloud,布局如下:Java Spring云负载平衡userInfoUri问题,java,spring,oauth-2.0,spring-cloud,spring-cloud-netflix,Java,Spring,Oauth 2.0,Spring Cloud,Spring Cloud Netflix,Im使用spring cloud,布局如下: 注册表服务器 oauth2服务器 祖尔代理 一个简单的crud微服务 在crud服务上,我试图使用 security: oauth2: resource: loadBalanced: true userInfoUri: http://auth_service/users/current 我可以从oauthserver获取令牌,但是当我使用令牌请求我得到的crud服务时 2017-01-07 10:46
- 注册表服务器
- oauth2服务器
- 祖尔代理
- 一个简单的crud微服务
security:
oauth2:
resource:
loadBalanced: true
userInfoUri: http://auth_service/users/current
我可以从oauthserver获取令牌,但是当我使用令牌请求我得到的crud服务时
2017-01-07 10:46:02.638 INFO 16186 --- [nio-9001-exec-4] o.s.b.a.s.o.r.UserInfoTokenServices : Getting user info from: http://auth_service/users/current
2017-01-07 10:46:02.639 INFO 16186 --- [nio-9001-exec-4] o.s.b.a.s.o.r.UserInfoTokenServices : Could not fetch user details: class java.lang.NullPointerException, null
如果我将oauth客户机更改为在不使用loadBalanced选项的情况下访问oauth服务器,那么它可以正常工作
security:
oauth2:
resource:
userInfoUri: http://localhost:4444/auth_service/users/current #through zuul proxy
我尝试过调试,但是这个空指针异常在rest模板实现中发生得非常深入。求你了,我需要一些帮助 我的电脑里有类似的东西,试试这个配置,看看它是否可以工作
zuul:
routes:
user-service:
path: /user/**
stripPrefix: false
security:
# Disable Spring Boot basic authentication
basic:
enabled: false
oauth2:
client:
accessTokenUri: http://<zuulHostname>/user/oauth/token
userAuthorizationUri: http://<zuulHostname>/user/oauth/authorize
...
zuul:
路线:
用户服务:
路径:/user/**
stripPrefix:false
安全:
#禁用Spring引导基本身份验证
基本:
已启用:false
oauth2:
客户:
accessTokenUri:http:///user/oauth/token
userAuthorizationUri:http:///user/oauth/authorize
...
请检查您获得的令牌是否包含有关用户的完整信息。最重要的是用户名。它应该在生成令牌时设置。您可以通过解析令牌来查看令牌中的信息