glutio / domainsso
Flarum SSO 使用域范围cookie。
0.0.1
2024-03-24 16:22 UTC
README
通过转发域范围cookie,将Flarum的登录、注销和会话验证委托给同一域的SSO端点。主要场景是在主站和论坛站之间共享登录会话。
示例
- SSO url是
https://example.com
,具有登录端点/api/auth/signin
,注销端点/api/auth/signout
和会话端点/api/auth/session
。 - Flarum url是
https://flarum.example.com
,已启用DomainSSO扩展。 - 用户在Flarum网站上点击
登录
,将被重定向到https://example.com/api/auth/signin
进行登录,并生成域范围的token cookie。 - 用户将被重定向回Flarum的
https://flarum.example.com
,并将域范围的cookie转发到https://example.com/api/auth/session
。 - 如果基于域范围的cookie会话被验证(返回会话JSON),Flarum将根据用户的电子邮件地址登录用户(用户在首次登录时在Flarum的数据库中创建)。
- 用户在Flarum网站上点击
注销
,将被注销出Flarum,并重定向到https://example.com/api/auth/signout
,在该处终止域范围的会话。
在Flarum网站上双击登录
将弹出登录对话框,供本地Flarum管理员登录以设置或修复扩展设置。
使用composer require glutio/domainsso:*
安装。
最初,该扩展实现为与NextAuth.js一起工作,并期望会话JSON具有用户属性。
{
"user": {
"name": "John Doe",
"email": "john.doe@example.com",
"image": "https://example.com/image.jpg"
}
}