当前位置: 首页 > 知识库问答 >
问题:

如何处理Passport中密码授予令牌的客户端id和客户端机密

夏侯昊明
2023-03-14

我试图弄清楚如何处理Passport包中的密码授予令牌。我是否应该将客户id和客户机密存储在中。env文件或在请求令牌时直接从数据库获取值?

共有2个答案

周兴朝
2023-03-14

当然,您可以将这些值存储在您的内存中。在env文件中,您应该将这些令牌视为您授予希望使用您的API的其他开发人员的秘密。如果每天有50名开发人员想要注册使用您的API,您会手动将他们添加到您的应用程序中吗。环境文件?如果只有你/你的公司,这可能是“好的”,但我会将它们存储在数据库中以实现可伸缩性。

吕宣
2023-03-14

这取决于你最终想要达到的目标。

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

因此,如果您想要构建一个apiendpoint,您可以安全地将PASSPORT\u CLIENT\u ID存储在您的数据库中。环境。

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

怎么做?请阅读我的帖子,关于如何将其嵌入laravel控制器。

Passport构建在oauth2服务器之上,该服务器具有大量功能。

最有可能的是,您不需要它们,所以您可以像在本例中一样坚持基本的jwt授权。

这种方法使您能够针对不同的CI环境测试代码,同时不在VCS中共享任何特定的密钥/令牌,这无疑是一种很好的做法。

最后的音符...护照使包像野狗,泰蒙jwt等...无用,因为它几乎包含了所有的东西,真正重要的是,这是官方的Laravel包。

 类似资料:
  • 我正在构建一个API,并使用Laravel Passport进行身份验证。 API正在用于我们的移动应用程序,因此我们正在使用密码授予客户端。 一切都很好,用户可以登录以获得访问令牌。我们创建了一个注册endpoint,允许用户注册。此时,我们也需要API返回访问令牌。 通过查看文档,无法通过编程方式创建访问令牌。 如何在控制器中为密码授予客户端创建访问令牌?我显然不想对自己的API执行HTTP请

  • 我使用。NET Core2.0和ASP.NET Core2.0进行应用程序开发。“测试”应用程序是一个。NET核心控制台应用程序。我正在编写的核心代码是一个类库。一旦适当的测试。我选择这样做是因为我暂时不会使用它(它正在替换旧的ASPNET代码)。 无论如何,由于我必须处理各种服务的大量API密钥,所以我决定使用Microsoft Azure Key Vault来存储密钥。我有这一切设置,并理解这

  • null 用户在登录表单中输入凭据->应用程序1将使用用户凭据从应用程序2获取令牌,其具有密码授予类型->使用令牌访问应用程序1的资源。 问题是Spring Security 5是否支持客户端的密码授予类型?我在Spring Security 5实现中找到了所有rest授予类型,但没有找到密码。

  • 我正在写一个小小的短信网关,供几个项目使用, 我实现了laravel passport身份验证(客户端凭据授予令牌) 然后,我向api中间件组添加了: 逻辑工作正常,现在在我的控制器中,我需要让客户机与有效令牌关联。 routes.php 出于明显的安全原因,我无法将客户端id与消费者请求一起发送,例如,

  • 问题内容: 我正在使用一组受oAuth2保护的服务。当前它是这样工作的:客户端使用其用户名和密码登录。我用这些交换令牌。我将令牌保存在会话中,并在每次调用服务时提交。它可以工作,但是问题是我完全手动执行此操作,而没有使用很多Spring Security oAuth2支持。外观如下: 如您所见,我自己创建了身份验证提供程序。它正在接受该标准,但正在产生自己的扩展,该扩展也保留了实际内容,因此将其保