【问题标题】:securesocial (2.1.X): how to save username/password to a database?securesocial (2.1.X):如何将用户名/密码保存到数据库?
【发布时间】:2014-07-09 15:22:20
【问题描述】:

我想将用户信息保存到数据库中,例如用户名、电子邮件、密码(如果我无法获取密码,甚至是哈希值)。然后我检查了下面的示例应用程序,但没有密码信息。如果没有密码,那么如何将其保存到数据库中? https://github.com/jaliss/securesocial/blob/2.1.x/samples/scala/demo/app/service/InMemoryUserService.scala

【问题讨论】:

  • SecureSocial 似乎是一个 OAuth 应用程序。您需要了解 OAuth 的工作原理;也许密码在别处处理。
  • 使用 Facebook/Google+/Twitter 等登录是否不安全?您不会收到用户的密码 - 其想法是用户可以使用他们的社交帐户登录,而无需交出对它的访问权限。

标签: scala securesocial


【解决方案1】:

最后我发现哈希密码存储在 Identity 中,我们可以在更改密码或创建新用户时在 save() 函数中捕获它。我们可以添加将它们存储在数据库中的逻辑。顺便说一句,我使用电子邮件/密码进行授权,而不是 facebook 或 google OAuth。

def save(user: Identity): Identity = {
    // first see if there is a user with this Identity already.
    val pwd:String=user.passwordInfo.get.password
    val hasher:String=user.passwordInfo.get.hasher
    val salt:Option[String]=user.passwordInfo.get.salt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-20
    • 2019-10-12
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多