首页 > 解决方案 > 为什么我需要 OAuth2 密码授予流程的客户端 ID?

问题描述

例子:

POST /oauth/token HTTP/1.1
Host: authorization-server.com
Content-type: application/x-www-form-urlencoded

grant_type=password
&username=exampleuser
&password=1234luggage
&client_id=xxxxxxxxxx

为什么我需要 OAuth2 密码授予流程的客户端 ID?为什么用户名和密码不够用?

标签: authenticationoauth-2.0passwordsauthorizationclientid

解决方案


令牌端点将发出访问令牌。访问令牌表示“谁授予谁什么权限”。

  • Who这里是由 标识的用户username
  • 此处的权限是请求参数中列出的范围scope(尽管您的示例不包括scope请求参数)。
  • 这里的谁是客户端应用程序。

为了让授权服务器知道(即客户端应用程序),您需要包含一个client_id请求参数。


推荐阅读