SSO单点登录 您所在的位置:网站首页 飞书sso登录与个人账号 SSO单点登录

SSO单点登录

2023-06-30 02:43| 来源: 网络整理| 查看: 265

# 前言

我们这里接入的单点登录程序使用的是 "Casdooropen in new window" 别的不说了可以接入几十种,你见过的没见过的都有

详细的可以看下面有一份支持接入的方式表单,不啰嗦了直接开始

支持接入的方式表单

图表来自 "Casdoor Docsopen in new window"

ProviderLogoProviderLogoProviderLogoProviderLogoAdfsAlipayAmazonAppleAuth0AzureADBaiduBattle.netopen in new windowBilibiliBitbucketBoxCasdoorCloud FoundryDailymotionDeezerDigitalOceanDingTalkDiscordDouyinDropboxEve OnlineFacebookFitbitGiteaGiteeGitHubGitLabGoogleHerokuInfluxCloudInfoflowInstagramIntercomKakaoLarkLastfmLineLinkedInMailruMeetupMicrosoftOnlineNaverNextcloudOktaOneDriveOuraPatreonPaypalQQSalesForceShopifySlackSoundCloudSpotifySteamStravaStripeTikTokTumblrTwitchTwitterTypetalkUberVKWeChatWeComWeiboWepayXeroYahooYammerYandexZoomEmailSMS# 通用配置 - 回调参数URL回调参数URL:http(s)://YOU_URL/callback,下面举几个例子http://22.333.222.111:8000/callbackopen in new windowhttps://22.111.222.333:8000/callbackopen in new windowhttp://sso.baidu.com/callbackopen in new windowhttps://sso.baidu.com/callbackopen in new window

总之就是不论你怎么写 结尾加一个 /callback 即可,

这个是对接到提供商新建的应用程序里面使用,现在不懂没关系往下看看到了就懂了

接入提供商

接入的提供商都是在Casdoor,顶部选项提供商那里接入的,接入好后再去应用里面添加

图为在应用添加已经接入的提供商图为在应用添加已经接入的提供商

下面我们说一下怎么接入不同方式的登录吧

# 接入

打开QQ开发者平台open in new window,审核通过后,创建网页应用,获取您的客户ID和客户端密钥。

需要有备案哦~

若是QQ开发者平台没法认证可以先在 腾讯应用开放平台open in new window 认证后,我们拿腾讯应用开放平台的OpenID和UserID去绑定QQ开发者平台的移动应用里面的关联腾讯开放平台,这样腾讯开放平台认证审核通过后QQ开发者平台也就审核通过了

QQ开发者平台有感觉页面js有问题总是加载不出来 我只能通过这样的办法通过认证绑定腾讯应用开放平台绑定腾讯应用开放平台# 注册应用 - 添加回调参数

认证审核 和 应用注册审核都很快的,之要是在工作日內,一般都是在下午处理,下午3-5点左右处理

注册应用时,记得填写我们的回调参数URL哦~

应用注册时需要遵循他们的规范,不然不给通过

不过我们可以先等审核通过了拿到 客户端ID(Client Id) 和 客户端秘钥(Client Secret) 然后再去删掉咯

应用注册的规范:https://wiki.connect.qq.com/移动应用接入流程(改)testopen in new window

应用注册好了 我们等着就行一个工作日內处理完

注册应用以及添加注册应用以及添加回调参数

应用注册好后 审核也通过了 我们接入到Casdoor吧

填写到接入填写到Casdoor接入

也接入好了 我们看看登录演示

接入登录演示Demo接入登录演示Demo

打开钉钉开放平台open in new window,登录后按照官方提示注册自己的应用,即可在应用信息看到 客户端ID(Client Id) 和 客户端秘钥(Client Secret)

注册好应用后 我们来添加一下回调参数,回调参数链接就是我们开始提到是 通用配置格式里面的,按照下图来填写即可

添加回调参数添加回调参数

回调参数填写好后我们来开通几个权限,钉钉需要手动开启几个权限,在权限管理內开通如下权限,缺一不可

个人手机号信息 ontact.User.mobile

通讯录个人信息读权限 Contact.User.Read

成员信息读权限 qyapi_get_member

需要开通的权限需要开通的权限

回调参数和权限都开通后 我们开始接入到 Casdoor,很简单照着写吧

填写到接入填写到Casdoor接入

打开飞书开放平台open in new window,登录后按照官方提示注册自己的应用,即可在凭证与基础信息看到 客户端ID(Client Id) 和 客户端秘钥(Client Secret)

飞书接入也很简单,但是有个问题是登录的时候是需要使用APP,并且是飞书商务版

我们先添加一下回调参数,第一次使用的话我们得发布一下应用,直接点点点点就行,直接抄作业吧如下图

添加回调参数添加回调参数

飞书也不需要我们去开通什么权限,直接能用,下面开始接入到 Casdoor,很简单照着写吧

填写到接入填写到Casdoor接入

填写好后,下图是我们接入登录的预览图

接入登录绑定时预览图接入登录绑定时预览图

打开百度开放平台open in new window,登录后按照官方提示注册自己的应用,即可在基本信息看到 客户端ID(Client Id) 和 客户端秘钥(Client Secret)

呃呃呃,百度的竟然没HTTPS,虽然没啥问题,总觉得怪怪的 哈哈~~

接入百度也很简单,创建好应用后 我们直接来安全设置来填写回调参数URL

添加回调参数添加回调参数

然后就没然后了,下面我们去Casdoor填入接入参数吧

填写到接入填写到Casdoor接入

填写好后,下图是我们接入登录的预览图

接入登录绑定时预览图接入登录绑定时预览图

打开GitHub OAuth Appsopen in new window,左上角New OAuth Appsopen in new window注册一个应用

然后就会看到 客户端ID(Client Id) 和我们需要手动创建一个 客户端秘钥(Client Secret)

注册的时候看起来和我提供的图片不一样,实际上没啥区别

Authorization callback URL:这个选项是填写回调参数URL的

我们直接快进到填写参数接入到 Casdoor,很简单照着写吧

填写到接入填写到Casdoor接入

填写好后,下图是我们接入登录的预览图

接入登录绑定时预览图接入登录绑定时预览图

打开Google API 凭据open in new window,顶部的创建凭据 --> OAuth 客户端ID 注册一个应用

直接照着下图写,也记得填写回调参数URL喔~

如果你是第一次配置,请直接看下面的第三张图再回来新建应用

添加回调参数添加回调参数

创建好应用应该能看到 客户端ID(Client Id) 和 客户端秘钥(Client Secret)

快进到填写参数接入到 Casdoor,很简单照着写吧

填写到接入填写到Casdoor接入

如果你是第一次创建谷歌 OAuth 客户端ID,首选需要配置一下同意屏幕

配置同意屏幕配置同意屏幕

打开Microsoft AzureAD应用注册open in new window,注册一个我们自己的应用

如果你有其他的需求,一个默认的回调参数URL不够用,可以在新建好后再来添加

注册 Microsoft AzureAD 应用注册 Microsoft AzureAD 应用

注册好应用后我们就能看到我们的 客户端ID(Client Id),然后再去新建一个客户端秘钥(Client Secret)

客户端秘钥记得提前保存,不然刷新页面就不会再出现了,只能再重新新建一个秘钥了

新建客户端秘钥新建客户端秘钥

客户端ID(Client Id) 和 客户端秘钥(Client Secret) 都拿到了我们也要去授权一下 API权限

我们只需要一个User.Read,默认帮我们加好了,我们只需要授权一下就可以,但是如果需要其他的自行添加

授权API权限授权API权限

该设置的都设置了,开始接入到 Casdoor吧

填写到接入填写到Casdoor接入

新增多个callback URL参数

增加多个callback URL增加多个callback URL

打开GitLab 应用注册open in new window,注册一个我们自己的应用,注册应用时候记得填写回调参数URL和选择权限(3个)

添加回调参数添加回调参数

应用注册好后就会看到到我们的 客户端ID(Client Id) 和 客户端秘钥(Client Secret),然后我们直接填写到填写到Casdoor接入

填写到接入填写到Casdoor接入

Casdoor接入后我们在AList后台绑定时,登录帐号后记得授权哦~

绑定单点登录授权绑定单点登录授权

打开Yandex开发者中心open in new window注册一个我们自己的应用

注册很简单, 第一步:填一个注册应用名称以及勾选一下应用的类型第二步:略第三步:填写我们的回调参数,我们就填写通用配置-回调参数url即可第四步:写个邮箱即可第四步完成后会出现一个预览的,我们选择下面长条橙黄色按钮: Everything is correct. Create the app新建应用以及添加回调参数新建应用以及添加回调参数

新建好应用后我们就能看到 客户端ID(Client Id) 和 客户端秘钥(Client Secret),填写到Casdoor提供商

如果新建好应用后刷新了页面,可以找到我们新建的应用点进去获取参数

填写到接入填写到Casdoor接入

使用Yandex登录预览

Yandex登录预览Yandex登录预览

打开Discord开发者中心open in new window注册一个我们自己的应用,照着下图操作即可

注册应用注册应用

注册好应用后,我们 客户端ID(Client Id) 和 客户端秘钥(Client Secret) 就能看到

顺便填写一下 回调参数URL,然后将参数填写到Casdoor接入

填写到接入填写到Casdoor接入

使用Discord登录预览登录预览

Discord登录预览Discord登录预览

首先打开Twitch开发者控制台open in new window注册一个我们的应用

登录控制台时我们先授权一下给Twitch权限(下图左侧图),也要在个人设置open in new window绑定邮箱和二次验证(下图右侧图)

二次验证(2FA)使用Google验证器open in new window 或 Microsoft验证器open in new window,这两个都可以登录开发者控制台授权登录开发者控制台授权

然后注册我们的开发者应用,记得填写回调参数URL,类别看着选吧实在不知道和我的一样也可以

填写到接入填写到Casdoor接入

新建好后,我们找到我们新建的应用,手动获取一下秘钥,就得到了客户端ID(Client Id) 和 客户端秘钥(Client Secret),然后填写到Casdoor接入吧

填写到接入填写到Casdoor接入

填写到Casdoor接入好后,我们也回到AList绑定单点登录试试看~

Twitch绑定登录预览Twitch绑定登录预览

Twitch登录没有问题

呃呃呃,基本添加方式摸清了,但是最后还是需要企业认证绑定才行,我们先看看怎么用吧

打开企业微信后台open in new window,在自建添加一个我们自己的应用,然后填写回调参数

但是企业微信的回调参数和以往的写法不同,参考链接open in new window

添加回调参数添加回调参数

回调参数写好了,我们去寻找 客户端ID(Client Id) 和 客户端秘钥(Client Secret) 以及 企业应用ID(Agent ID)

填写到接入填写到Casdoor接入

到这里填写好了 倒是没什么问题了,然后问题不出意外的出现了意外 ⚠️⚠️⚠️

But! 重点来了,填写好后竟然发现好像还是需要企业认证的...链接也附带到下面了有兴趣的可以看看

绑定单点登录时遇到的问题绑定单点登录时遇到的问题

上述问题的链接如下:

右1图:https://open.work.weixin.qq.com/devtool/query?e=60020open in new window右2图:https://developer.work.weixin.qq.com/document/path/90313#错误码:60020open in new window右3图:https://open.work.weixin.qq.com/wwopen/common/readDocument/40754open in new window

更多的厂商接入还在路上,敬请期待~

支付宝,哔哩哔哩,抖音,微信/企业微信(企业内部和第三方商业)

这些需要企业认证才可以,个人无法申请

微博:没实名过,需要实名认证,如需要自行接入很简单

开发者注册地址:https://open.weibo.com/developers/basicinfoopen in new window

Gitee:也没实名过,也需要实名认证,如需要自行接入很简单

开发者注册地址:https://open.weibo.com/developers/basicinfoopen in new window

Infoflow(百度如流):需要企业资质

http://qy.baidu.com/index.html#appdetailopen in new window

企业微信:两个不同

企业内部:https://work.weixin.qq.com/wework_admin/frame#appsopen in new window如果需要添加可以在前面标签中看看已经添加了一个大概企业微信第三方商业:https://open.work.weixin.qq.com/wwopen/developer#/sass/power/interopen in new window

Apple开发者:没折腾明白

开发者注册地址:https://developer.apple.com/account/resources/identifiers/listopen in new window

Steam:没账号就没测试

https://steamcommunity.com/dev/apikeyopen in new window

微信开放平台需付费,中国地区¥300,非中国地区 $99

微信开放平台帐号的开发者资质认证提供更安全、更严格的真实性认证、也能够更好的保护企业及用户的合法权益开发者资质认证通过后,微信开放平台帐号下的应用,将获得微信登录、智能接口、第三方平台开发等高级能力审核费用:中国大陆地区:300元,非中国大陆地区:99美元认证费用认证费用

以下这些暂时还未尝试

Tiktok:需要填写然后审核

https://developers.tiktok.com/apps/open in new window

Okta:没见过暂时还没尝试

https://dev-78625966-admin.okta.com/admin/appopen in new window

Slack:暂时还没尝试

https://api.slack.com/appsopen in new window

Twitter:申请困难,官方限制严格

https://developer.twitter.com/en/portal/dashboardopen in new window

Facebook:需要能连接到外网的机器,因没有暂无法添加(很简单)

https://developers.facebook.com/appsopen in new window

Instagram:和Facebook 好像一样 是一家的

网游登录不了instagram 没法找到开发者后台

也就整理这些吧,国内国外的都有了

# 如何使用其他组织登录?

上述也看到了我们也选择了我们新建的组织alist-org,然后用户alist-user绑定的也是我们新建的组织

那么我们登录的时候默认页面如果去使用alist-user帐号去等我们是登录不了的

我们得去https://YOU_URL/login/alist-org这个页面去登录才能找到alist-user这个用户的帐号

若是觉得麻烦,我们直接把alist-user这个用户绑定的组织换成默认就可以使用https://YOU_URL/login登录了

# 如何绑定第三方应用登录到用户?

我们在提供商接入应用后,在应用也添加好,在用户页面内 组织 和 应用 都填好对应的

然后下拉有一个第三方登录,我们在这里绑定好到时候我们可以使用这些应用来登录我们的alist-user帐号

展开查看如何绑定第三方应用登录到用户用户绑定第三方登录用户绑定第三方登录

# 如何禁止其他人注册?找到对应的应用,进去下拉会看到一个启用注册的选项,关闭即可 简单粗暴,这样除了现有的用户以外其他人都无法注册找到对应的应用,下来添加了第三方登录的接入,把那些接入应用的可用于注册选项关闭即可 如果直接关闭启用注册的选项 第二个不用管会自动关闭展开查看如何禁止其他人注册取消注册取消注册

# Casdoor 编译教程

因为 Casdoor 如果使用他们官网托管的是需要付费的也理解,但是 Casdoor是开源免费的 可以自己编译然后再部署

Casdoor官网open in new window,GitHubopen in new window,Casdoor使用文档open in new window,AList接入如何使用Casdoor教程open in new window

# 编译完毕 - 自己部署#1.clone GitHub代码 git clone https://github.com/casdoor/casdoor.git #2.进入前端文件 cd web #3.安装 package.json 所需要的依赖(有点久半个小时好像) yarn install #4.安装好依赖后 编译前端 yarn build #5.前端编译好,路径回到上一级,然后编译后端 cd ../ go build #6.把编译好的`casdoo`执行文件带带走,以及还要需要的 /conf 配置文件夹,以及 /web/build 这两个文件夹 casdoor.exe /conf/* /web/build/* #7.然后移动到所需要的地方即可,否则package,json 13W个文件1G大小..太大了不方便移动

上述移动文件夹时候目录结构也要保持哈~(应该需要相对的目录结构才行)

我这里使用的是Windows的编译出来的是casdoor.exe可执行文件,如果是Linux 就是二进制casdoor 文件

使用方法和 AList 手动启动一样 不过不用携带server参数可以直接启动即可# 手把手教你编译Casdoor

生产模式荐

开发模式X



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有