Fusionauth 用户有两种登录方式

Fusionauth user with two possibillity to login

假设我在 fusionauth 的一个应用程序中有多种类型的用户。其中一个角色 A 可以通过 fusionauth 标准登录机制 register/login。另一个角色 'B' 可以通过 facebook 登录。 角色为 B 的用户获得角色 A。现在他兼任这两个角色。 是否有可能以某种方式允许他以两种方式登录?是否可以向该用户添加注册,以便他可以以标准方式设置密码登录?

如果我正确理解您的用例,这在 FusionAuth 中绝对是可能的。下图说明了 FusionAuth 中的关系:

User <--- UserRegistration ---> Application <--- ApplicationRole
                 |                                      ^
                 \--------------------------------------/

假设您的用户是 joe@example.com。 Joe 最初可以通过 Facebook 登录,FusionAuth 可以配置为为他创建一个 User 对象。这称为 "Create Registration",是身份提供程序配置的一部分。

稍后,如果 Joe 单击 "Forgot Password" link,FusionAuth 将向他发送一封电子邮件,然后他可以设置新密码。

这意味着 Joe 现在可以随时使用 Facebook 或使用他的电子邮件地址和密码登录。

此外,Joe 可以有多个 UserRegistration 对象。假设您有两个应用程序,一个名为 A,一个名为 B。当 Joe 第一次使用 Facebook 登录时,如果他正在登录 Application A,FusionAuth 会为他创建一个 UserRegistration 对象用于 Application A 并且这个 UserRegistration 会被授予所有默认的 ApplicationRoles申请 A.

稍后,如果 Joe 执行了 "Forgot Password" 工作流程,然后登录到应用程序 B,FusionAuth 可以配置为在应用程序 B 中为 Joe 创建一个 UserRegistration 对象,这将有还授予 Joe 应用程序 B 的所有默认角色。此配置位于“注册”选项卡上的“应用程序”下。如果您为应用程序启用注册,那么 FusionAuth 将为存在但没有用户登录的应用程序的 UserRegistration 的用户创建 UserRegistration 对象。

最后,您可以使用 /api/user/registration API (https://fusionauth.io/docs/v1/tech/apis/registrations).

为任何应用程序授予 Joe 任何其他角色