OpenID Connect 登录
你的用户可以用他们在别处已有的账号登录。任何发布 OpenID Connect 发现文档的身份提供方都可以使用,Fóir 负责与它完成交换。
你需要提供什么
你可以在控制台、通过 CLI 或在你的配置文件中添加提供方。登录需要提供方的发现 URL、你的客户端 ID 和一个重定向 URI,三者缺少任何一个都会被拒绝。客户端机密是可选的,请求的作用域默认为 openid email。
Fóir 不维护具名提供方的目录。你添加的每个提供方都有一个键、一个显示名称和一个决定按钮顺序的优先级。
Fóir 做什么
Fóir 读取提供方的发现文档,生成 PKCE 对和 state 值,并返回提供方的授权 URL。用户返回时,它交换授权码,验证 ID 令牌,并读取电子邮件地址和提供方的稳定主体标识符。
如何将一个人与账号匹配
回访用户按主体标识符匹配,因此即使他们在提供方处的电子邮件地址改变,仍会解析到同一个账号。使用未知电子邮件的首次登录会创建一个没有密码的账号,同时受项目的注册模式和你套餐的活跃用户数上限约束。
当电子邮件与现有账号匹配时,只有该账号没有密码、且提供方已验证该邮件,才会关联该提供方。否则登录会被拒绝,并提示用户使用其现有的方式登录。
按钮出现在哪里
在托管登录页面上,每个已启用的提供方都有一个按钮。在你自己的界面中,用 authProviders 查询列出它们,两个 mutation 开始并完成登录,返回与其他所有方式相同的令牌。
隐藏提供方或将其关闭
登录应用可以为自己隐藏某个提供方。为整个项目关闭一个提供方,会在下一次发行版时生效,或者运行 foir push --publish 立即生效。