DiscourseConnect 消费者是否应将用户数据保存到本地数据库?

举个实际例子,我正在开发一个集成 DiscourseConnect 的 MediaWiki 认证扩展,它将成为我 MediaWiki 实例上唯一的登录方式。

据我所知,我有两个选择:

  1. 实现一个 SessionProvider,从 DiscourseConnect 回调中获取用户数据,然后直接将其设置到 MediaWiki 会话中。
  2. 实现一个 PrimaryAuthenticationProvider,同样从 DiscourseConnect 回调中获取用户数据,但在 MediaWiki 系统中创建自己的用户。

我认为选项 1 看起来更像 SSO 实现,而选项 2 则像“使用 Google 登录”。

选项 1 我唯一知道的缺点是,一旦实施将很难退出。如果不将任何凭据保存到 MediaWiki,我无法想象如何迁移出去并启用本地登录。也许我可以将用户凭据保存在某个地方。

我应该选择哪个选项?

谢谢。