HTTPS: Since requests to the token endpoint result in the transmission of clear-text credentials (in the HTTP request and response), the authorization server MUST require the use of TLS when sending requests to the token endpoint.
HTTP Method: The client MUST use the HTTP “POST” method when making access token requests.
Parameters sent without a value MUST be treated as if they were omitted from the request.
The authorization server MUST ignore unrecognized request parameters.
Request and response parameters MUST NOT be included more than once.
Client Id
An authenticated client MAY use the client_id request parameter to identify itself when sending requests to the token endpoint.
An unauthenticated client MUST send its “client_id” in the authorization_code grant_type request (to prevent itself from inadvertently accepting a code intended for a client with a different “client_id”. This protects the client from substitution of the authentication code. (It provides no additional security for the protected resource.)