Hi Sachith,

Here EndpointUtil.extractCredentialsFromAuthzHeader() method expects the
value of the 'Authorization' header. Please refer [1]. Here the value of
the 'Authorization' header is passed to the method which is directly taken
from the servlet request.
And when decoding the header it expects the value to be in '<authMethod>
<base64Hash>' format.

So actually what's wrong here is the curl you have posted. It should be
like below.

curl -k -d "grant_type=password&username=admin&password=admin" -H
"Authorization:Basic xxxxxxxxxxxxxx" -H "Content-Type:
application/x-www-form-urlencoded" https://localhost:9443/oauth2/token

So this adds the two headers properly.
In your case the value of the 'Authorization' header is 'Basic
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, Content-Type:
application/x-www-form-urlencoded' which is not in the expected format.
That's why you see the error 'Error decoding authorization header. Space
delimited \"<authMethod> <base64Hash>\" format violated.'

Further, if you try out the curl command that Pushpalanka has posted you
will note that it works.

[1]
https://github.com/wso2/carbon-identity/blob/master/components/oauth/org.wso2.carbon.identity.oauth.endpoint/src/main/java/org/wso2/carbon/identity/oauth/endpoint/token/OAuth2TokenEndpoint.java#L86

Thanks,
Malithi.


On Wed, Oct 7, 2015 at 5:57 PM, Sachith Punchihewa <[email protected]>
wrote:

> Hi All,
>
> @Pushpalanka I used that then it gives me an error indicating "Client
> Authentication failed".
>
> This issues was not there in the IS 5.0.0. I did a debugging and found the
> issue. I have send a pull request regarding this.
>
> Thanks and Regards.
> Kamidu Sachith Punchihewa
> *Software Engineer*
> WSO2, Inc.
> lean . enterprise . middleware
> Mobile : +94 (0) 770566749 <%2B94%20%280%29%20773%20451194>
>
>
> Disclaimer: This communication may contain privileged or other
> confidential information and is intended exclusively for the addressee/s.
> If you are not the intended recipient/s, or believe that you may have
> received this communication in error, please reply to the sender indicating
> that fact and delete the copy you received and in addition, you should not
> print, copy, retransmit, disseminate, or otherwise use the information
> contained in this communication. Internet communications cannot be
> guaranteed to be timely, secure, error or virus-free. The sender does not
> accept liability for any errors or omissions.
>
> On Wed, Oct 7, 2015 at 5:47 PM, Pushpalanka Jayawardhana <[email protected]>
> wrote:
>
>> Hi,
>>
>> Optionally, can you try with below command format and check,
>>
>> curl --user Client_Id:Client_Secret  -k -d
>> "grant_type=password&username=admin&password=admin" -H
>> "Content-Type:application/x-www-form-urlencoded"
>> https://localhost:9443/oauth2/token
>>
>> Thanks,
>> Pushpalanka.
>> --
>> Pushpalanka Jayawardhana, B.Sc.Eng.(Hons).
>> Senior Software Engineer, WSO2 Lanka (pvt) Ltd;  wso2.com/
>> Mobile: +94779716248
>> Blog: pushpalankajaya.blogspot.com/ | LinkedIn:
>> lk.linkedin.com/in/pushpalanka/ | Twitter: @pushpalanka
>>
>>
>> On Wed, Oct 7, 2015 at 5:40 PM, Sachith Punchihewa <[email protected]>
>> wrote:
>>
>>> Hi,
>>> I am currently using a locally build of IS Server from the latest
>>> code.When i try to get a OAuth Access token via a curl execution i am
>>> getting an error.
>>>
>>> Curl Format used :
>>>
>>> *curl**<SPACE>**-k**<SPACE>**-d**<SPACE>*
>>>> *"grant_type=password&username=userNamepasswork&=**passWord*
>>>> *&tenantDomain=carbon.super"**<SPACE>**-H**<SPACE>*
>>>> *"Authorization:Basic**<SPACE>**Base 64 encoded clientID:clientSecret,*
>>>> *<SPACE>**Content-Type:**<SPACE>**application/x-www-form-urlencoded"*
>>>> *<SPACE>**https://localhost:9443/oauth2/token
>>>> <https://localhost:9443/oauth2/token>*
>>>
>>>
>>> Actual command :
>>>
>>> curl -k -d
>>>> "grant_type=password&username=xxxxx&password=xxxxx&tenantDomain=carbon.super"
>>>> -H "Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,
>>>> Content-Type: application/x-www-form-urlencoded"
>>>> https://localhost:9443/oauth2/token
>>>
>>>
>>> Error :
>>>
>>> "Error decoding authorization header. Space delimited \"<authMethod>
>>>> <base64Hash>\" format violated."
>>>
>>>
>>>
>>> Is there is a issue with the curl command i am using here ?
>>>
>>> Thanks and Regards.
>>> Kamidu Sachith Punchihewa
>>> *Software Engineer*
>>> WSO2, Inc.
>>> lean . enterprise . middleware
>>> Mobile : +94 (0) 770566749 <%2B94%20%280%29%20773%20451194>
>>>
>>>
>>> Disclaimer: This communication may contain privileged or other
>>> confidential information and is intended exclusively for the addressee/s.
>>> If you are not the intended recipient/s, or believe that you may have
>>> received this communication in error, please reply to the sender indicating
>>> that fact and delete the copy you received and in addition, you should not
>>> print, copy, retransmit, disseminate, or otherwise use the information
>>> contained in this communication. Internet communications cannot be
>>> guaranteed to be timely, secure, error or virus-free. The sender does not
>>> accept liability for any errors or omissions.
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> [email protected]
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 

*Malithi Edirisinghe*
Senior Software Engineer
WSO2 Inc.

Mobile : +94 (0) 718176807
[email protected]
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to