microsoft/cpprestsdk

Inconsistent encoding when comparing oauth1_config::m_token in oauth1_config::token_from_redirected_uri()

Open

#5 opened on Oct 13, 2015

View on GitHub
 (1 comment) (0 reactions) (0 assignees)C++ (7,596 stars) (1,670 forks)batch import
bughelp wanted

Description

Hi,

I am getting an exception at final stage of authentication process - "redirected URI parameter 'oauth_token'='...' does not match temporary token='...'.".

Probably I found why it fails.

  1. When temporary token is received it is stored to oauth1_config::m_token as URI DECODED. See https://github.com/Microsoft/cpprestsdk/blob/master/Release/src/http/oauth/oauth1.cpp:319

  2. After redirection, we get access token by calling oauth1_config::token_from_redirected_uri(uri). Which throws an exception, because it tries to compare token stored at step 1) and URI ENCODED token from redirected uri.

The possible workflow: decode redirected uri manually for oauth1_config::token_from_redirected_uri. Is that correct solution?

Regards, Vladimir.

Contributor guide