Skip to content

Latest commit

 

History

History
47 lines (29 loc) · 1.86 KB

README.md

File metadata and controls

47 lines (29 loc) · 1.86 KB

Spring Cloud 基于网关的统一授权认证

使用OAuth2实现多个微服务的统一认证授权,通过向OAUTH服务发送某个类型的grant type进行集中认证和授权获得access token,这个access token是受其他微服务信任的。后续访问中可以通过这个access token来进行。

  • account: 用户微服务
  • auth: OAUTH2认证授权中心
  • zuul: 边界网关
  • eureka: 服务注册和发现

基础环境

  1. 开启MySql 修改auth配置文件bootstrap.yml中的datasource配置mysql用户名、密码、数据库名。
  2. 开启Redis 修改auth配置文件bootstrap.yml中的redis如果默认端口号是6379 host为 localhost 则不用修改。

运行

  1. 运行eureka 端口号8888

  2. 运行zuul 端口号8088

  3. 运行auth(因为使用了JPA会自动创建数据表不用导入数据库,只需要开启mysql) 端口号5000

    • 账户1: username:fpf password:fpf
    • 账户2: username:wl password:wl

    相关的设置可以在auth项目中的Init类中看到

  4. 运行account 端口号8083

测试

  1. 通关zuul网关访问认证服务获取 access token 8088是网关端口

  2. 通过access token访问auth中的/userAPI获取用户信息

  3. 使用相同的access token访问account中的/currentAPI获取用户信息 可以看到都是相同的用户信息

  4. 使用access token访问account中带权限/queryAPI

  5. 使用wl用户重新获取access token访问account中带权限/queryAPI