前阵子看到 Casdoor 这个产品在 V2 推广,就试了试,中间有些疑问,本来想去 github 的 issue 提问的,但是看了下目前 open 的 issue 基本都是机器人回复,感觉意义不大,所以发到这里。
1 CAS 自身的登陆页面(应该算是 app-built-in 这个应用)按照文档所说默认属于 built-in 组织,通过这种途径进去的用户都具备管理员权限,是否意味着如果这个 app-built-in 这个应用启用了第三方登录,那任意第三方登陆进来的用户都是管理员?
2 针对多个应用,假设名字 A 和 B ,二者都启用了 github 登录,并且开启了会话保持。应用 A 和 B 有各自的登录页,通过 clientID 区分(
https://casdoor.org/zh/docs/basic/core-concepts#%E7%99%BB%E5%BD%95-url )。经测试,每次访问应用的登录页都会重新跟 GitHub 进行一次完整的 OAuth2 交互。
大体是这个流程:
应用 A----应用 A 登录页----GitHub 登录---调用 Casdoor 回调----调用应用 A 回调
应用 B----应用 B 登录页----GitHub 登录---调用 Casdoor 回调----调用应用 B 回调
这个按照个人理解,第一次登陆后应该保存用户状态,后面再访问,直接跳回对应的应用就行了。类似这样:
应用 A----应用 A 登录页----GitHub 登录---调用 Casdoor 回调----调用应用 A 回调
应用 B----应用 B 登录页----(检测到已登录)----调用应用 B 回调
不知道这个是基于什么考虑?因为按照目前的流程,假如由于某些原因,github 用户状态丢失,那么用户在已经通过应用 A 登陆了 casdoor 的情况下,再访问应用 B 的时候还需要跳转到 GitHub 输入用户名密码,感觉这脱离了 SSO 的原意。
有没有用过的?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/852655
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.