如何在Passport

时间:2017-04-21 05:10:40

标签: laravel laravel-passport

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

2 个答案:

答案 0 :(得分:2)

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

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

因此,如果您想构建 api 端点,可以在.env中安全地存储 PASSPORT_CLIENT_ID

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

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

Passport 构建于oauth2 server之上,其中包含大量功能。

很可能你不会全部需要它们,所以你可以坚持基本的 jwt授权,就像这种情况一样。

此方法可让您针对不同的 CI 环境测试代码,同时不在 VCS 中共享任何特定的键/令牌,这绝对是一种很好的做法。

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

答案 1 :(得分:1)

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