/simple-spring-oauth2-sso

SSO demo from Mr Huang

Primary LanguageJavaApache License 2.0Apache-2.0

simple-spring-oauth2-sso

这是一个简单的演示项目,使用spring security搭建oauth2服务器,并为两个应用实现sso单点登录。附加一个使用http basic认证的演示项目。

环境准备

本项目的构建和运行需要JDK7和Maven3。

项目结构

整个项目目录结构如下,

- pom.xml 整个Maven项目的pom文件,这是演示项目的根目录
+ auth-server
  - pom.xml
  + src
    + main/java/com/pphh/demo
      - AuthServer.java  OAuth2授权服务器
      - AuthServerConfig.java
+ demo1
  - pom.xml
  + src
    + main/java/com/pphh/demo
      - Demo1Application.java  演示1,演示单点登录
+ demo2
  - pom.xml
  + src
    + main/java/com/pphh/demo
      - Demo2Application.java  演示2,演示单点登录
+ demo-basic
  - pom.xml
  + src
    + main/java/com/pphh/demo
      - DemoBasicApplication.java  演示3,演示http basic登录
      - BasicSecurityConfig.java

整个项目包含4个子项目,每个子项目都是一个spring boot应用。

项目构建

执行如下命令,对项目编译打包,

mvn clean package

演示步骤

  1. 分别启动启动Auth-Server, Demo1, Demo2和DemoBasic四个应用程序

    • Auth-Server:提供OAuth2授权服务,启动后在端口9000
    • Demo1:演示应用1,启动后在端口9100
    • Demo2:演示应用2,启动后在端口9200
    • DemoBasic:演示应用3,启动后在端口9300

    注意的是,演示1和演示2在运行时依赖Auth-Server的接口服务,所以需要先启动授权服务器,否则会报无法获取sign-key的错误消息。

    org.springframework.web.client.ResourceAccessException:
    I/O error on GET request for "http://127.0.0.1:9000/oauth/token_key":
    Connection refused: connect;
    

    演示应用3可以独立运行。

  2. 演示单点登录 - 演示1

  3. 演示单点登录 - 演示2

  4. 演示简单的http basic登录

开源许可协议 License

Apache License 2.0