如何在 OroCommerce 4.2 中为移动应用启用“密码”OAuth2

问题描述

使用 Postman 的授权工具,我可以使用 client_id 和 client_secret 使用 OAuth2 的“client_credential”令牌类型成功地对前端用户进行身份验证,但密码类型不起作用,如此处所述:https://doc.oroinc.com/api/authentication/oauth-password/ 我在 GCP 上使用新安装的 4.2.1 实例。是否有某种方法可以启用密码身份验证,或者我们是否必须为每个客户用户创建一个 OAuth 应用程序,以便我们拥有每个用户的身份验证?

解决方法

不,您不应为每个客户用户使用单独的 OAuth 应用程序(客户端凭据授予类型除外)。但是您应该为每种授权类型使用单独的 OAuth 应用程序。
在您的情况下,您必须添加 Storefront OAuth Applications 与“密码”授予类型,然后,在 client_id 和 client_secret 旁边,传递用户名、密码和 grant_type,并将值设置为“密码”。您可以在此 article 中找到的请求示例。