Hey all,

I'm having some trouble getting a token with *client_credentials *grant and
mutual TLS where it fails with the error message *"**The client MUST NOT
use more than one authentication method in each" *refer request below

curl -k -d 
"grant_type=client_credentials&scope=accounts&client_id=<CLIENT_ID>&client_secret=<CLIENT_SECRET>"

    \ -H "Content-Type: application/x-www-form-urlencoded"

     \ --cert cert.crt --key key.key -X POST https://203.94.95.194:8243/token

I'm using *wso2ob-km 5.7.0 (WSO2 Identity Server 5.7.0)* with OAuth logs
enabled, and I get the following output.

TID: [-1234] [] [2019-01-18 02:51:54,108] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  Executing OAuth client authenticators.
TID: [-1234] [] [2019-01-18 02:51:54,108] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  Retrieving registered OAuth client authenticator list.
TID: [-1234] [] [2019-01-18 02:51:54,112] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  Evaluating canAuthenticate of authenticator :
PrivateKeyJWTClientAuthenticator
TID: [-1234] [] [2019-01-18 02:51:54,113] DEBUG
{org.wso2.carbon.identity.oauth2.token.handler.clientauth.jwt.PrivateKeyJWTClientAuthenticator}
-  Authenticate Requested with clientAssertionType : null*TID: [-1234]
[] [2019-01-18 02:51:54,114] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  PrivateKeyJWTClientAuthenticator authenticator cannot handle this
request.
*TID: [-1234] [] [2019-01-18 02:51:54,115] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  Evaluating canAuthenticate of authenticator :
BasicOAuthClientCredAuthenticator
TID: [-1234] [] [2019-01-18 02:51:54,115] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.BasicAuthClientAuthenticator}
-  Basic auth credentials present as body params. Hence returning true
TID: [-1234] [] [2019-01-18 02:51:54,115] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  BasicOAuthClientCredAuthenticator authenticator can handle incoming
request.
TID: [-1234] [] [2019-01-18 02:51:54,115] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  Authenticator BasicOAuthClientCredAuthenticator can authenticate
the client request.  Hence trying to evaluate authentication*TID:
[-1234] [] [2019-01-18 02:51:54,115] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.BasicAuthClientAuthenticator}
-  Authenticating client : <CLIENT_ID>with client secret.
*TID: [-1234] [] [2019-01-18 02:51:54,139] DEBUG
{org.wso2.carbon.identity.oauth2.util.OAuth2Util} -  Client
credentials were fetched from the database.*TID: [-1234] []
[2019-01-18 02:51:54,139] DEBUG
{org.wso2.carbon.identity.oauth2.util.OAuth2Util} -  Successfully
authenticated the client with client id : <CLIENT_ID>
*TID: [-1234] [] [2019-01-18 02:51:54,139] DEBUG
{org.wso2.carbon.identity.oauth2.util.OAuth2Util} -  Client
credentials were added to the cache for client id : <CLIENT_ID>
TID: [-1234] [] [2019-01-18 02:51:54,139] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  Authentication result from OAuth client authenticator
BasicOAuthClientCredAuthenticator is : true
TID: [-1234] [] [2019-01-18 02:51:54,139] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  Evaluating canAuthenticate of authenticator :
PublicClientAuthenticator
TID: [-1234] [] [2019-01-18 02:51:54,160] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  PublicClientAuthenticator authenticator can handle incoming
request.
TID: [-1234] [] [2019-01-18 02:51:54,160] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  Previously an authenticator is evaluated. Hence authenticator
PublicClientAuthenticator is not evaluating
TID: [-1234] [] [2019-01-18 02:51:54,160] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  Authenticator PublicClientAuthenticator can authenticate the client
request.  Hence trying to evaluate authentication*TID: [-1234] []
[2019-01-18 02:51:54,161] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  2 Authenticators were executed previously. Hence failing client
authentication
TID: [-1234] [] [2019-01-18 02:51:54,161] DEBUG
{org.wso2.carbon.identity.oauth2.client.authentication.OAuthClientAuthnService}
-  Setting error to client authentication context : Error code :
invalid_request, Error message : The client MUST NOT use more than one
authentication method in each
*TID: [-1234] [] [2019-01-18 02:51:54,184] DEBUG
{org.wso2.carbon.identity.oauth2.OAuth2Service} -  Access Token
request received for Client ID <CLIENT_ID>, User ID null, Scope :
[accounts] and Grant Type : client_credentials
TID: [-1234] [] [2019-01-18 02:51:54,192]  INFO
{org.wso2.carbon.identity.oauth.config.OAuthServerConfiguration} -
The default OAuth token issuer will be used. No custom token generator
is set.
TID: [-1234] [] [2019-01-18 02:51:54,192]  INFO
{org.wso2.carbon.identity.oauth.config.OAuthServerConfiguration} -
The default Identity OAuth token issuer will be used. No custom token
generator is set.
TID: [-1234] [] [2019-01-18 02:51:54,315] DEBUG
{org.wso2.carbon.identity.oauth2.token.AccessTokenIssuer} -
Successfully created AppInfoCache under OAuthCacheManager
TID: [-1234] [] [2019-01-18 02:51:54,316] DEBUG
{org.wso2.carbon.identity.oauth2.token.AccessTokenIssuer} -
Triggering access token pre issuer listeners for client: <CLIENT_ID>
TID: [-1234] [] [2019-01-18 02:51:54,316] DEBUG
{org.wso2.carbon.identity.oauth2.token.AccessTokenIssuer} -
OAuth-Error-Code=invalid_request
client-id=<CLIENT_ID>grant-type=client_credentials scope=accounts
TID: [-1234] [] [2019-01-18 02:51:54,316] DEBUG
{org.wso2.carbon.identity.oauth2.token.AccessTokenIssuer} -
Triggering access token post issuer listeners for client: <CLIENT_ID>

How can I mitigate this behavior? Disable some of the authenticators? set
priority?
Please give your input,

Thanks In advance,
Kaveen Rodrigo

-- 
*Kaveen Rodrigo *
Software Engineer | WS02

Email : [email protected]
Mobile : +94779684749
Web : http://www.wso2.com

<http://goog_953536661>
[image: http://wso2.com/signature] <http://wso2.com/signature>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to