How to find out the valid values to use for authorized grant types in Spring Secrity

Very good question - I struggled to find the values for hours.

Here is how to gather the different values. Every implementation of AbstractTokenGranter carries static field grant type GRANT_TYPE:

  • refresh_token - RefreshTokenGranter
  • authorization_code - AuthorizationCodeTokenGranter
  • implicit - ImplicitTokenGranter
  • password - ResourceOwnerPasswordTokenGranter
  • client_credentials - ClientCredentialsTokenGranter

The authorized grant types of a client can be found in the client instance via ClientDetails.getAuthorizedGrantTypes

And last but not least spring security oauth follows the specification here - so the grant types mentioned above match those mentioned in the spec.