我正在用spring OAuth2构建单点登录服务器。在独立模式下,token存储在内存中,运行良好。但现在,我想在多个服务器上运行单点登录服务器。我用JDBC改变了存储策略,然后在端口9999和9998上运行了两个实例。我不知道如何配置application.yml文件的客户端和资源服务器。我在客户端服务器上尝试了以下配置:
security:
basic:
enabled: false
oauth2:
client:
client-id: mud
client-secret: mud
access-token-uri: http://localhost:9999/oauth/token,http://localhost:9998/oauth/token
user-authorization-uri: http://localhost:9999/oauth/authorize,http://localhost:9998/oauth/authorize
scope: read, write
resource:
token-info-uri: http://localhost:9999/oauth/check_token,http://localhost:9998/oauth/check_token
它不起作用。当我访问资源时,单点登录服务器重定向到'http://localhost:9999/oauth/token,http://localhost:9998/oauth/token‘。
如何在spring中配置多个单点登录认证服务器?
发布于 2017-04-11 15:54:32
我想使用zuul来解决这个问题,我在客户端服务器上尝试了以下配置:
server:
port: 8080
security:
basic:
enabled: false
oauth2:
client:
client-id: mud
client-secret: mud
access-token-uri: http://localhost:8080/proxy/oauth/token
user-authorization-uri: http://localhost:8080/proxy/oauth/authorize
scope: read, write
resource:
token-info-uri: http://localhost:8080/proxy/oauth/check_token
ignored: /proxy/oauth/token, /proxy/oauth/authorize, /proxy/oauth/check_token
zuul:
routes:
auth-server:
path: /proxy/**
serviceId: mud-microservice-security
mud-microservice-security:
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RoundRobinRule
当我像127.0.0.1:8080/env这样访问这个客户端时,它可以被重定向到SSO服务器的登录页面。但是当登录成功时,它不会重定向到127.0.0.1:8080/env,并且我再次访问127.0.0.1:8080/env,它总是重定向到登录页面。
发布于 2018-06-04 08:14:07
我认为您应该为您的oauth实例配置会话共享
https://stackoverflow.com/questions/43319692
复制相似问题