• OAuth认证服务


    组件编码 hzero-oauth

    简介

    hzero-oauth 服务是基于 Spring SecuritySpring OAuth2JWT 实现的统一认证服务中心,登录基于 spring security 的标准登录流程,客户端授权支持 oauth2.0 的四种授权模式:授权码模式简化模式密码模式客户端模式,授权流程跟标准的 oauth2 流程一致。web 端采用简化模式(implicit)登录系统,移动端可使用密码模式(password)登录系统 。并支持基于 Spring Social 的三方账号登录方式(如微信)。

    组件坐标

    <dependency>
        <groupId>org.hzero</groupId>
        <artifactId>hzero-oauth</artifactId>
        <version>${hzero.service.version}</version>
    </dependency>
    

    主要功能

    服务配置

    OAuth 服务的参数配置使用场景可具体参考 OAuth 服务下的其它文档。

    hzero:
      send-message:
        # 手机登录发送验证码模板代码
        mobile-login: HOTH.MOBILE_LOGIN
        # 修改密码发送验证码模板代码
        modify-login-password: HOTH.MODIFY_PASSWORD
      oauth:
        # 认证服务器 自定义资源匹配器
        # 可实现 ResourceMatcher 接口,自定义 OAuth ResourceServer 对哪些API认证
        custom-resource-matcher: false
        # 授权码模式验证 client 时不检查 client 的一致性
        not-check-client-equals: false
        # 移动设备ID参数
        device-id-parameter: device_id
        # 登录设备来源参数
        source-type-parameter: source_type
        # web端用户是否只允许在一处登录
        # 设置为 true 时,同一个web端用户只允许在一处登录
        enable-web-single-user-login: false
        # 移动端用户是否允许在一处登录
        # 设置为 true 时,同一个移动端用户只允许在一处登录
        enable-app-single-device-login: false
        # 移动端开启图形验证码校验,默认不开启
        enable-app-captcha: false
        # 始终开启图形验证码校验,默认否
        # 设置为 true 时,在进入登录页面时就显示图形验证码
        enable-always-captcha: false
        # 登录页面标题
        title: HZERO
        login:
          # 允许使用的登录名,默认有 用户名、邮箱、手机号
          support-fields: username,email,phone
          # 手机登录参数
          mobile-parameter: phone
          # 登录页面默认模板,oauth 提供了两套模板
          # 在请求 /oauth/authorize 接口时,可通过 template 参数指定使用的模板
          default-template: main
          # 默认登录成功跳转地址
          # 在直接访问 oauth 的登录地址时,登录成功后会跳转到这个默认地址
          success-url: http://dev.hzero.org/workplace
        logout:
          # 退出时是否清理token
          clear-token: true
        sso:
          # 启用二级域名单点登录
          enabled: true
          provider:
            # 用于cas key
            key: hzero
          service: 
            # oauth 服务地址
            baseUrl: http://dev.hzero.org:8080/oauth/oauth