Support client authentication for authorization-code grant type

When using a confidential client it should be possible to obtain
a token through authorization code grant type with a valid code.