I have created the Spring Authorization Server which issues JWT-s and a Resource Server which checks the JWT, its claims and permissions on the Authorization Server. To do so, I have followed this article.
My question is why I need to send the Authorization
header with HTTP Basic authorization and Base64 encoded username/password (ClientId:ClientSecret) in get token request? I have seen JWT implementations where only username and password are required.
It is part of the specification, see RFC 6749:
By default Spring Security OAuth 2.0 protects the token endpoint, see OAuth 2 Developers Guide:
But it seems, that you can disable the client authentication:
That is the structure of the JWT token:
Maybe in the implementation you have seen - the server was working with Default Secret