代码之家  ›  专栏  ›  技术社区  ›  John Smith Optional

scala securesocial:为电子邮件注册用户提供providerID?

  •  0
  • John Smith Optional  · 技术社区  · 8 年前

    安全社交 ( https://github.com/jaliss/securesocial )必须重写

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

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

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

    我找不到关于什么的描述 普罗维德里德 在文档或代码本身中。我的理解是 普罗维德里德 是一个类似“twitter”、“facebook”或“google”的字符串,用于标识用户连接的社交网络。

    我应该为电子邮件注册用户使用代表我的Web应用程序(“myapp”或类似的东西)的任意字符串吗?

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

    谢谢你的帮助。

    1 回复  |  直到 8 年前
        1
  •  1
  •   geek94    8 年前

    我们使用[userpass]作为用户注册电子邮件的providerID。根据我的理解,这个方法已经将providerID作为一个参数,因为在一个电子邮件中可以有多个条目(即不同的社会账户和电子邮件注册)。当用户试图通过某种方法(社交或电子邮件)登录时,您需要一种方法来区分数据库中的记录。例如,用户通过电子邮件注册并尝试通过Facebook登录,然后这将帮助您确定该用户的Facebook信息不在那里,他首先需要连接他的Facebook帐户。