microsoft/cpprestsdk

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

オープン

#5 opened on 2015/10/13

 (1 件のコメント) (0 件のリアクション) (0 人の担当者)C++ (1,670 件のフォーク)batch import
bughelp wanted

Repository metrics

Stars
 (7,596 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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.

コントリビューターガイド