Java Spring云负载平衡userInfoUri问题

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

Im使用spring cloud,布局如下:

  • 注册表服务器
  • oauth2服务器
  • 祖尔代理
  • 一个简单的crud微服务
在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
...

请检查您获得的令牌是否包含有关用户的完整信息。最重要的是用户名。它应该在生成令牌时设置。您可以通过解析令牌来查看令牌中的信息