• Ebpay(中国)

    企业微信客服
    “一对一”解答

    Ebpay(中国)ASP针对Gitlab进行SSO单点登录集成

    Ebpay(中国)ASP针对Gitlab进行SSO单点登录集成

    创建人:五台 最近更改时间:2023-08-11 11:05:58
    209

    概述

    ASP官方支持Gitlab第三方登录

    创建应用

    1. 应用 中点击创建第三方应用

    2. 在列表中选择Gitlab,点击创建应用

    3. 在弹窗中输入应用名称,点击确认

    4. 新创建的Gitlab应用需要进行配置,在 应用中选择刚才创建的Gitlab应用

    5. 在应用配置Gitlab地址,点击保存

    Gitlab对接ASP

    对接ASP需要修改Gitlab的配置文件,以下为docker-compose方式部署Gitlab的参考

    1. 修改docker-compose.yml配置文件
    services:
      web:
        image: 'gitlab/gitlab-ee:latest'
        restart: always
        hostname: 'localhost'
        environment:
          GITLAB_OMNIBUS_CONFIG: |
            external_url 'http://localhost:8001' #Gitlab地址
            gitlab_rails['omniauth_block_auto_created_users'] = false #是否创建新用户
            gitlab_rails['omniauth_allow_single_sign_on'] = ['openid_connect'] 
            gitlab_rails['omniauth_auto_link_user'] = [ "openid_connect"]
            gitlab_rails['omniauth_providers'] =  [{
              name: 'openid_connect',
              label: 'ASP', #Gitlab登录页面显示的登录方式名称
              args: {
                name: 'openid_connect',
                scope: ['openid','profile','email','phone'],
                response_type: 'code',
                issuer: "http://sso.bjhxrz.com",
                discovery: false,
                uid_field: 'sub',
                client_options: {
                  'port': 443, #ASP服务端口
                  'scheme': 'http', #ASP服务协议
                  'host': 'sso.bjhxrz.com', #ASP服务地址,此处为公有云地址
                  'authorization_endpoint':'/', #ASP服务登录地址路由
                  'token_endpoint':'/token', #ASP服务获取token接口地址路由
                  'identifier' => '451887a8-6ef4-45c6-8467-1974f3ae31ba', #应用ID
                  'secret' => 'BG6L3jUXh4f2qCPqx5bZWOK+XOqYWJ1vXc2megDD9fb25ZGhP5', #应用密钥
                  'redirect_uri' => 'http://192.168.0.122:8001/users/auth/openid_connect/callback' #Gitlab回调地址
                }          
              }
            }]
        ports:
          - '8001:8001'
        volumes:
          - './config:/etc/gitlab'
          - './logs:/var/log/gitlab'
          - './data:/var/opt/gitlab'
    

    参考: Gitlab文档

    1. 在Gitlab的登录界面中选择ASP用户源进行登录,跳转到ASP

    2. 在ASP输入账号登录,跳转回Gitlab

    3. 完成登录

    问题

    1. 创建应用时提示“系统未激活”
    请先导入许可证后再创建应用