gpt4 book ai didi

laravel - OAuth2 密码授予混淆

转载 作者:行者123 更新时间:2023-12-02 03:04:09 24 4
gpt4 key购买 nike

我已经阅读了下面的文章,它太棒了。那篇文章中的所有内容都很清楚,但我有一个重大疑问。

https://stormpath.com/blog/the-ultimate-guide-to-mobile-api-security

文章作者说在'OAuth2 password grant'中登录移动应用,只需要发送email和密码就可以从API服务器获取访问 token ,但我在很多地方都读过你也需要发送该请求中的 client_id 和 client_secret。我将使用 Laravel 构建我的 API:

https://laravel.com/docs/master/passport#password-grant-tokens

在这里您可以看到它迫使我在该请求中发送 client_id 和 client_secret。

我真的很困惑。如果我必须在该请求中发送 client_id 和 client_secret,首先我需要通过在授权服务器上创建一个客户端来获取它。那么在哪个事件中,我应该创建该客户端?当用户尝试从移动应用程序登录时?我只需要知道确切的流程。

任何帮助,将不胜感激。

谢谢

最佳答案

为需要与 OAuth2 服务器集成的开发人员创建了一个客户端。它与特定用户的登录流程无关。

前任。我想与 Facebook 登录集成;我在 Facebook 上创建了一个客户端并将其合并到我的服务中,这是 Facebook 了解我的服务是谁的方式。

因此,用户通过您的应用程序登录;然后,您的应用程序将该用户名和密码发送到后端服务器。然后后端服务器添加 client_id 和 secret,以便 OAuth 服务器可以验证请求的真实性。

因此,在您的情况下,用户登录到您的移动应用程序,您将该登录请求(用户名和密码,使用 SSL)发送到您的后端服务器。然后,您的后端服务器将该请求转发到 OAuth2 服务,如下所示。

'form_params' => [
'grant_type' => 'password',
'client_id' => 'client-id',
'client_secret' => 'client-secret',
'username' => 'user@email.com',
'password' => 'user-password',
'scope' => '',
],

这会直接返回一个 access_token 和一个刷新 token ,您可以安全地将其存储在您的移动应用程序中。

关于laravel - OAuth2 密码授予混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43886007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com