I forgot to include a specific example.
Given the following values:
- **client-id**: `@!412E.2540.0430.FDDA!0001!A2B6.0F60!0008!45CD.44CF.C8A9.3F6F`
- **client-secret**: `Pa55w0rd!`
Using: **base64.encode(**`@!412E.2540.0430.FDDA!0001!A2B6.0F60!0008!45CD.44CF.C8A9.3F6F`**:**`Pa55w0rd!`**)**
which translates into an Authorization header of:
```
Basic QCE0MTJFLjI1NDAuMDQzMC5GRERBITAwMDEhQTJCNi4wRjYwITAwMDghNDVDRC40NENGLkM4QTkuM0Y2RjpQYTU1dzByZCE=
```
which works, returning the expected access token.
**However**, using the OpenID Connect specified encoding of:
*base64.encode(* **url.encode(**`@!412E.2540.0430.FDDA!0001!A2B6.0F60!0008!45CD.44CF.C8A9.3F6F`**)**:**url.encode(**`Pa55w0rd!`**)** *)*
which translates into an Authorization header of:
```
Basic JTQwJTIxNDEyRS4yNTQwLjA0MzAuRkREQSUyMTAwMDElMjFBMkI2LjBGNjAlMjEwMDA4JTIxNDVDRC40NENGLkM4QTkuM0Y2RjpQYTU1dzByZCUyMQ==
```
which fails, returning the following error message:
```json
{"error":"invalid_client","error_description":"Client authentication failed (e.g. unknown client, no client authentication included, or unsupported authentication method). The authorization server MAY return an HTTP 401 (Unauthorized) status code to indicate which HTTP authentication schemes are supported. If the client attempted to authenticate via the Authorization request header field, the authorization server MUST respond with an HTTP 401 (Unauthorized) status code, and include the WWW-Authenticate response header field matching the authentication scheme used by the client."}
```