Authentication 为什么我需要OAuth2密码授予流的客户端id?

Authentication 为什么我需要OAuth2密码授予流的客户端id?,authentication,oauth-2.0,passwords,authorization,clientid,Authentication,Oauth 2.0,Passwords,Authorization,Clientid,例如: 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?为什么用户名和密码不够?令牌端点

例如:

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?为什么用户名和密码不够?

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

  • 这里是通过
    用户名
    识别的用户
  • 什么权限这里是
    范围
    请求参数中列出的范围(尽管您的示例不包括
    范围
    请求参数)
  • 这是一个客户端应用程序

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

换句话说:登录页面通常在登录对话框中显示应用程序的名称,以便用户知道他允许访问谁,此名称可以通过
客户端id
获得。而且它只允许访问由开发人员注册的应用程序,因此它知道该应用程序需要哪些权限,哪些不需要。