如果应用程序支持多客户端登录,如何将客户端 ID 和客户端密码传递到应用程序端(移动应用程序、Web 应用程序)



我们需要支持多个客户端。每个客户端都有自己的一组用户。每个用户都可以使用其凭据(用户名、密码(登录。登录是通过OAuth2完成的。 每个客户都有自己的client_idclient_secret

每个客户端都有自己的 API URL。 例如 - 客户端 xyz API - xyz.example.com/api/ 客户端 abc API - abc.example.com/api/

登录请求正文

{
"grant_type": "password",
"client_id": "client_id",
"client_secret": "client_secret",
"username": "username",
"password": "password"
}

现在的问题是如何验证客户端和客户端 API URL(应用程序端(。其次,如何在客户端(移动应用程序,Web应用程序(获取客户端ID,客户端密码作为登录API需要这些参数进行登录验证。我们如何将客户端 ID 从服务器端传递到应用端。或者当前的方法不适合上述用例。

例如 - 类似于 Slack 的用例,它首先识别工作区并对其进行验证。然后提供登录页面,用户在其中使用用户名和密码登录到该特定工作区。

似乎您可能正在使用类似Auth0或Authress之类的东西进行身份验证,这可能需要这样的字段。步骤将是:

  1. 创建客户端 ID 和机密,并将其存储在服务客户端后端中。
  2. 要求登录用户输入用户名和密码。将这些发送到后端服务。
  3. 后端服务获取所有这些字段,并将其发送到身份验证服务以获取 JWT 令牌。

要回答您的明确问题,请执行以下操作:

  • 现在的问题是如何验证客户端和客户端 API URL(应用程序端(。 您不需要每次验证您的服务客户端,它们将由您的身份验证服务器验证,并且是对该服务器的身份验证。

  • 其次,如何在客户端(移动应用程序,Web应用程序(获取客户端ID,客户端密码作为登录API需要这些参数进行登录验证。我们如何将客户端 ID 从服务器端传递到应用端。

切勿将客户端密码发送到用户的"客户端",这会向所有用户公开机密。此外,您只需要移动应用程序或 Web 应用程序端的 clientId,建议在应用程序中对该值进行硬编码。

相关内容

最新更新