`
szqfsx123
  • 浏览: 42371 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

zuul网关的oauth2应用demo,请大神帮我改写(源码参见附件)

 
阅读更多

####微服务说明

2. plat-eureka-server 平台级,注册中心

3. plat-oauth2-server 平台级,认证中心

4. plat-zuul-server   平台级,服务网关

5. pro-cms            微服务,内容管理系统(文章,帖子,新闻)

6. pro-sys            微服务,用户管理系统(用户,角色,权限,日志)

 

####初始化配置说明:

 

#####一、plat-oauth2-server

 

>   需要存储token信息,使用的是redis,请修改application.properties配置

 

>   需要使用mysql数据库,导入sql语句:plat-oauth2-server\src\main\resources\sql\oauth2.sql

 

>   数据库的链接,请修改数据库配置

 

>   登录用户名admin,密码123456 ,其他请参见sys_user表

 

注:

 

1、如不想用redis,可以在AuthorizationServerConfig.java中修改为InMemoryTokenStore

 

2、如不想用mysql,可以在AuthorizationServerConfig.java中修改为

 

```java

clients.inMemory().withClient("acme").secret("acmesecret").scopes("read").authorizedGrantTypes("authorization_code");

```

 

在SecurityConfig.java中修改为

```java

auth.inMemoryAuthentication().withUser("user").password("123456").authorities("ROLE_ADMIN");

```

 

 

 

#####二、测试oauth2功能

1. 访问地址:http://localhost:8080/cms 走zuul网关,会自动跳转到登录页面

2. 输入用户名密码admin 123456 登录成功,进行授权,授权成功,**自动**跳转回cms页面

 

以上情况测试成功,oauth2功能已基本可以使用。

 

 

但是为想oauth2多节点高可用,请大神帮为解决以下问题:

1、zuul网关中配置了accessTokenUri: http://localhost:9999/uaa/oauth/token,这个地址没有走zuul网关。

走zull网关,只用把端口改为8080即可,修改后,认证失败异常。

 

请教网关传递oauth2的token是不是有问题?需要怎么优化一下啊?

 

附源代码的下载地址

 

 

 

 

 

####在springcloud中使用oauth2,我觉得有以下几个场景:

#####1、共用一个认证中心,这个认证中心不走zuul网关

在zuul微服务中增加@EnableOauth2SSO注解,配置clientId,clientSecret,accessTokenUri,userAuthorizationUri。

这里的uri中地址不经过网关

#####2、共用一个认证中心,这个认证中心经过zuul网关

    在zuul微服务中增加@EnableOauth2SSO注解,配置clientId,clientSecret,accessTokenUri,userAuthorizationUri。

这里的uri中地址不经过网关

#####3、使用多个认证中心,这个认证中心不走zuul网关

在各自微服务中配置@EnableOauth2SSO注解,网关不要配置oauth2

 

我的demo现在只在第一种场景中能跑,第二个中报错,请大神帮我修改一下demo

 

 

分享到:
评论
1 楼 ty1989 2018-02-06  
楼主,你的demo搞定了吗?能不能分享下搞定后的源码

相关推荐

Global site tag (gtag.js) - Google Analytics