单点登录 Single Sign-On (SSO)
Single Sign-On (SSO) 是一种认证方法,允许用户使用单一的登录凭据(如用户名和密码)访问多个应用程序或系统,而无需为每个应用程序单独登录。通过 SSO,用户只需登录一次,就可以无缝地访问所有关联的服务,提高了用户体验和安全性。
微语系统支持多种第三方平台的单点登录,包括:
社交平台:微信、GitHub、Facebook、Google、钉钉、抖音、飞书
企业级认证:LDAP、CAS、OIDC、OpenID
本文档将详细介绍如何配置这些单点登录功能,满足从个人开发者到大型企业的不同认证需求。

配置概述
微语的单点登录配置分为两个部分:
- 前端显示控制:控制前端是否显示相应平台的登录按钮
- OAuth 参数配置:配置各平台的客户端ID、密钥等认证参数
前端登录按钮控制
通过 custom 参数可以控制前端是否显示相应的登录按钮:
Properties 配置
# 启用微信登录按钮
bytedesk.custom.login-wechat-enable=false
# 启用 GitHub 登录按钮
bytedesk.custom.login-github-enable=true
# 启用 Facebook 登录按钮
bytedesk.custom.login-facebook-enable=false
# 启用 Google 登录按钮
bytedesk.custom.login-google-enable=false
# 启用钉钉登录按钮
bytedesk.custom.login-dingtalk-enable=false
# 启用抖音登录按钮
bytedesk.custom.login-douyin-enable=false
# 启用飞书登录按钮
bytedesk.custom.login-feishu-enable=false
# 启用 LDAP 登录按钮
bytedesk.custom.login-ldap-enable=false
# 启用 CAS 登录按钮
bytedesk.custom.login-cas-enable=false
# 启用 OIDC 登录按钮
bytedesk.custom.login-oidc-enable=false
# 启用 OpenID 登录按钮
bytedesk.custom.login-openid-enable=false
Docker Compose 配置
services:
bytedesk:
image: bytedesk/server:latest
environment:
# 启用微信登录按钮
BYTEDESK_CUSTOM_LOGIN_WECHAT_ENABLE: "false"
# 启用 GitHub 登录按钮
BYTEDESK_CUSTOM_LOGIN_GITHUB_ENABLE: "true"
# 启用 Facebook 登录按钮
BYTEDESK_CUSTOM_LOGIN_FACEBOOK_ENABLE: "false"
# 启用 Google 登录按钮
BYTEDESK_CUSTOM_LOGIN_GOOGLE_ENABLE: "false"
# 启用钉钉登录按钮
BYTEDESK_CUSTOM_LOGIN_DINGTALK_ENABLE: "false"
# 启用抖音登录按钮
BYTEDESK_CUSTOM_LOGIN_DOUYIN_ENABLE: "false"
# 启用飞书登录按钮
BYTEDESK_CUSTOM_LOGIN_FEISHU_ENABLE: "false"
# 启用 LDAP 登录按钮
BYTEDESK_CUSTOM_LOGIN_LDAP_ENABLE: "false"
# 启用 CAS 登录按钮
BYTEDESK_CUSTOM_LOGIN_CAS_ENABLE: "false"
# 启用 OIDC 登录按钮
BYTEDESK_CUSTOM_LOGIN_OIDC_ENABLE: "false"
# 启用 OpenID 登录按钮
BYTEDESK_CUSTOM_LOGIN_OPENID_ENABLE: "false"
OAuth 参数配置
GitHub 配置
在使用 GitHub 登录前,需要先在 GitHub 创建 OAuth 应用:
-
创建新的 OAuth App
-
配置回调地址为:
http://服务器IP:端口/admin/auth/login(需替换为实际服务器IP和端口, 如果是域名可不写端口)
-
获取
Client ID和Client Secret