Scala securesocial:电子邮件注册用户的 providerId?

Scala securesocial: providerId for an email registered user?

securesocial ( https://github.com/jaliss/securesocial ) 中,您必须覆盖

def findByEmailAndProvider(email: String, providerId: String): Future[Option[BasicProfile]]

UserService class ( https://github.com/jaliss/securesocial/blob/master/module-code/app/securesocial/core/services/UserService.scala )

的方法

但是通过简单的电子邮件注册(不使用社交帐户)注册的用户providerId是什么?

我在文档或代码本身中找不到 providerId 的描述。我的理解是 providerId 是一个类似于 "twitter"、"facebook" 或 "google" 的字符串,用于标识用户用来连接的社交网络。

我是否应该为电子邮件注册用户使用代表我的 Web 应用程序的任意字符串("myapp" 或类似的字符串)?

实际上,我想我什至不明白为什么 providerId 是这个方法的参数。我看不出它在这种情况下的用途。 如果用户使用电子邮件地址进行连接,难道不是已经知道他们没有通过 facebook/twitter/google 或其他方式进行连接吗?

感谢您的帮助。

我们使用 [userpass] 作为用户注册邮箱的 providerId。根据我的理解,此方法将 providerId 作为参数,因为单个电子邮件可以有多个条目(即不同的社交帐户和电子邮件注册)。当用户尝试通过某种方法(社交或电子邮件)登录时,您需要一种方法来区分数据库中的记录。例如用户通过电子邮件注册并尝试通过 facebook 登录,那么这将帮助您识别用户的 facebook 信息不存在,他首先需要连接他的 facebook 帐户。