首页 文章

如何在Passport中处理密码授予令牌的client_id和client_secret

提问于
浏览
7

我试图弄清楚如何处理Passport包中的密码授予令牌 . 我应该将client_id和client_secret存储在.env文件中,还是在请求令牌时直接从数据库中获取值?

2 回答

  • 1

    这取决于你最终想要实现的目标 .

    Passport 令牌始终存储在 DB 中,这是检索它们的正确位置(除非您正在优化 生产环境 应用程序,以获得更少的数据库负载) .

    因此,如果要构建 api endpoints ,可以安全地将 PASSPORT_CLIENT_ID 存储在.env中 .

    然后,在您的控制器中,您可以轻松检索您可能需要的所有数据 .

    怎么做?请阅读my post,了解如何将其嵌入 laravel 控制器中 .

    Passport Build 在oauth2 server之上,它具有许多功能 .

    很可能你不需要它们,所以你可以坚持基本的 jwt authorization ,就像在这种情况下一样 .

    这种方法可以让你针对不同的 CI 环境测试你的代码,而不是在你的 VCS 中共享任何特定的键/令牌,这绝对是一个好习惯 .

    最后的注意事项... Passport 制作像dingo,tymon jwt等的软件包..没用,因为它几乎包含所有内容,而真正重要的是,这就是 official Laravel package .

  • 2

    虽然您当然可以将值存储在.env文件中,但您应该将这些令牌视为您授予其他想要使用API的开发人员的秘密 . 如果每天有50位开发人员想要注册使用您的API,您会手动将它们添加到.env文件中吗?如果只有你/你的公司这个kan是“ok”,但我会将它们存储在数据库中以实现可扩展性 .

相关问题