【问题标题】:How to use "auth" with Adonis without a crypted password?如何在没有加密密码的情况下将“auth”与 Adonis 一起使用?
【发布时间】:2020-02-21 10:53:44
【问题描述】:

我使用 Adonis 连接一个没有加密密码的 MSSQL DB,但我需要生成一个令牌以重复使用(因为我使用 Auth)但它不起作用。

阅读documentation,我尝试“散列”该密码和他们的身份验证,但没有用。所以我尝试,加密和他们的身份验证,再次不行。

最后我尝试加密、散列和它们的身份验证......但它们不起作用:|

有人如何通过这个,可以帮助我吗?

【问题讨论】:

    标签: javascript node.js authentication adonis.js


    【解决方案1】:

    我不知道没有加密密码是否可行。保持密码不加密不是一个好主意。

    您可以使用此代码加密所有密码:

      const Hash = use("Hash");
    
      const users = await User.all();
      users.rows.forEach(async u => {
        u.password = await Hash.make(u.password);
        await u.save();
      });
    

    !!只运行一次

    【讨论】:

    • 我同意,我也不喜欢这个想法,但由于我无法解密 GeneXus(TwoFish Cryptography)生成的密码,所以这是我留下的解决方案......虽然什么我最想要的是一种能够使用“Auth”的方式
    • 好的,我查看了Auth 源代码,需要对密码进行哈希处理。一种解决方案:(我没有测试)您可以创建一个用户挂钩adonisjs.com/docs/4.1/database-hooks#_lifecycle_eventsafterFindafterFetch(同时尝试)。在这个钩子中,只需散列密码字段user.password = await Hash.make(user.password);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    • 2022-06-20
    • 2011-11-18
    相关资源
    最近更新 更多