我试图了解库OmniAuth
的作用,首先我想看看我是否理解"多提供商身份验证"正确。这是否意味着您的应用可以使用Facebook或谷歌作为不同类型的提供商来验证您作为用户?因此,您可以通过提供您的脸书ID / pw或您的谷歌ID / pw登录您的应用程序,两者都会带您到您的应用程序下的同一帐户?
答案 0 :(得分:2)
我知道它有点晚了但是,是的,你是对的。 arrayOf
旨在为您的用户提供更多选项,以便通过利用其他身份验证提供程序来注册和验证自己。在一个简单的情况下,可以用这种方式描述过程:
OmniAuth
和其他信息)uid
以查看是否与系统中的任何用户匹配(假设您有uid
表格链接到auth_providers
)。如果是,请签署该用户,如果没有签署该用户。大多数情况下,您希望用户只使用一个身份验证提供程序(Facebook或Google或其他内容)。使用两者可以产生2个独立的帐户。当然,您可以找到一种方法来解决这个问题,例如检测从user
数据返回的电子邮件是否已被使用,但这是不可靠的,因为它只有在用户同时注册Google和Facebook时才有效电子邮件。如果您想让用户同时登录多个提供商,请由您来找到重复数据删除的解决方案。