跳至主要內容

单点登录

Andy HsuGuideAdvancedGuide大约 11 分钟

单点登录

Single sign-on client id

客户端ID

Single sign-on client secrets

秘钥ID

注意事项

  1. AList 后台参数也记得写好保存,写好保存后也要回到个人资料下方会有一个需要绑定的按钮进行绑定,否则无法使用

  2. 四种单点登录暂时只能启用一种,如果你之前用的是别的单点登录方式然后换了新的单点登录方式 那么你回到个人资料绑定的时候需要先将之前的解绑(点击一下即可)然后再绑定现在你要使用的单点登录方式。

  3. 如果使用 GitHub,微软,谷歌,钉钉,只需要填写客户端ID和秘钥,选项中选择对应的平台即可

    • 如果使用 Casdoor 以下的参数都需要填写,照着教程填写即可

注册绑定单点登录

GitHub

注意

若想使用GitHub登录,首选需要你搭建Alist的机器能连接访问GitHub才可以调用使用,不然连接不上无法使用

打开 https://github.com/settings/developersopen in new window 点击 New OAuth App

Register OAuth 填写说明

填写完毕后记得获取一下 Client secrets,然后填写到Alist后台。

完整填写参考示意图

sso

视频教程

视频若失效可以前往观看: https://b23.tv/Fm8AkC5open in new window


单点登录自动注册为AList帐号

  • AList 版本 > v3.22.1 新增功能

在使用单点登录注册为AList帐号前,我们需要先将AList的单点登录进行绑定,绑定方法在上面有说明

  • 支持上述提到的五个单点登录方法

  • 如果使用Casdoor,请勿直接使用默认组织(app-built-in),因为这个组织内的用户都是全局管理员帐号

  • 除了Casdoor其它的只需要填写客户端ID客户端秘钥以及下面新增的单点登录帐号注册为AList帐号的配置


SSO完整填写示例

分别如何填写看下面的详细说明,示意图只是一个填写参考并不适合每个人的用户习惯


SSO自动注册

如果我们想让SSO单点登录注册为AList帐号我们需要打开这个选项才可以使用


SSO默认路径

也就是说注册的帐号默认使用的路径,相当于AList用户设置里面的基本路径

可以是根目录/,也可以是用户指定的路径/path/test/Demo


SSO默认权限

相当于注册的用户默认开通哪些权限,就如下面所示的

默认为0,不开通任何权限

如果在注册时我们需要开通一些权限我们只需要不同权限的数字相加即可

例如:

  1. 我们需要默认开通用户的WebDav读取WebDav管理那就是256+512=768,我们就在填写选项填写768即可
  2. 如果我们需要注册时默认开通创建目录或上传重命名删除这三个权限 那就是8+16+128=152,我们在后台填写152即可

例子就不多说了,需要那个权限自己相加就可以


注意事项以及说明

4.1-AList用户数据库已存在同名的帐号

usernamepasswordbase_pathrolepermissionopt_secretgithub_iddisabledsso_id
anyiFzdDfkmU/本地1030
anyi_dc188911RUCtgqCw/本地1030dc18891

如上表格所示,新注册的单点登录用户名称后增加了一串多余的id

这是因为AList用户数据库中已有了相同的用户,所以在用户名后把单点登录ID也添加上去了

如果你新注册的单点登录用户名在AList用户数据库中没有,它就不会在名字后面添加单点登录ID


4.2-如果不想让单点登录的帐号注册为AList帐号了怎么办?

Sso自动注册关闭就可以,这样不影响已经使用单点登录注册好的帐号使用


4.3-如果我把单点登录选项关闭,使用单点登录注册的帐号怎么办?

不用担心,使用单点登录注册好登录AList后,在后台登录,登录好后找到个人资料

  • 可以自行修改 用户名密码 ,修改好后保存,这样就可以正常使用AList帐号来登录了
  • 这时候可以点击解绑单点登录平台了,解绑和不解绑都可以,后续该用户的默认路径默认权限只能通过管理员在AList后台用户进行修改

4.4-使用单点登录提示这个错误码是怎么回事?

{
    "code": 400,
    "message": "The single sign on platform is not bound to any users: record not found",
    "data": null
}


 


这是因为单点登录自动注册为AList帐号的选项没开启,无法将单点登录注册为AList帐号

  • 如果你是管理员,你可以开启一下
  • 如果你是用户,你可以去联系管理员开启

SSO兼容模式

AList单点登录绑定了钉钉,然后在 钉钉 应用内打开AList,登录时选择钉钉登录会跳到自己电脑浏览器,授权后你会发现没有后续反应了,因为浏览器无法跳回钉钉应用內浏览器页面

这时候就需要打开 SSO兼容模式 再去点击登录就可以登录成功了

AList应用在钉钉软件内打开如图所示:


如何创建钉钉工作台內应用

一张图教你新建一个应用并且添加

  • LOGO是默认的新建时不可修改,可以等新建好后再修改 (看图二)
  • 如果你只是在钉钉应用內浏览AList,不使用单点登录后台管理,可以不用设置单点登录配置只添加应用就可以


打开 钉钉开放平台后台open in new window 找到你新建的应用进去修改LOGO就可以


回调参数(重定向链接)

开启 SSO兼容模式 后需要将单点登录对应的软件内修改一下回调参数链接改成下面的两个回调参数

  • GitHub 只需要添加一条:http(s)://You_Url/api/auth/sso_get_token
  • 微软谷歌两个都需要添加,可以添加多个,所以只需要新增两条就可以不用删除旧的
http(s)://You_Url/api/auth/get_sso_id
http(s)://You_Url/api/auth/sso_get_token

如果启用 SSO兼容模式 不修改则会提示 invalid redirect url 错误