glutio/domainsso

Flarum SSO 使用域范围cookie。

安装: 28

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:flarum-extension

0.0.1 2024-03-24 16:22 UTC

This package is auto-updated.

Last update: 2024-09-24 17:25:29 UTC


README

通过转发域范围cookie,将Flarum的登录、注销和会话验证委托给同一域的SSO端点。主要场景是在主站和论坛站之间共享登录会话。

示例

  1. SSO url是https://example.com,具有登录端点/api/auth/signin,注销端点/api/auth/signout和会话端点/api/auth/session
  2. Flarum url是https://flarum.example.com,已启用DomainSSO扩展。
  3. 用户在Flarum网站上点击登录,将被重定向到https://example.com/api/auth/signin进行登录,并生成域范围的token cookie。
  4. 用户将被重定向回Flarum的https://flarum.example.com,并将域范围的cookie转发到https://example.com/api/auth/session
  5. 如果基于域范围的cookie会话被验证(返回会话JSON),Flarum将根据用户的电子邮件地址登录用户(用户在首次登录时在Flarum的数据库中创建)。
  6. 用户在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"
    }
}