{"action":"created","issue":{"url":"https://api.github.com/repos/joestump/python-oauth2/issues/76","labels_url":"https://api.github.com/repos/joestump/python-oauth2/issues/76/labels{/name}","comments_url":"https://api.github.com/repos/joestump/python-oauth2/issues/76/comments","events_url":"https://api.github.com/repos/joestump/python-oauth2/issues/76/events","html_url":"https://github.com/joestump/python-oauth2/pull/76","id":1174879,"number":76,"title":"Fixed request token parsing using cgi.parse_qs method","user":{"login":"antonmoiseev","id":182853,"avatar_url":"https://avatars.githubusercontent.com/u/182853?v=3","gravatar_id":"","url":"https://api.github.com/users/antonmoiseev","html_url":"https://github.com/antonmoiseev","followers_url":"https://api.github.com/users/antonmoiseev/followers","following_url":"https://api.github.com/users/antonmoiseev/following{/other_user}","gists_url":"https://api.github.com/users/antonmoiseev/gists{/gist_id}","starred_url":"https://api.github.com/users/antonmoiseev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antonmoiseev/subscriptions","organizations_url":"https://api.github.com/users/antonmoiseev/orgs","repos_url":"https://api.github.com/users/antonmoiseev/repos","events_url":"https://api.github.com/users/antonmoiseev/events{/privacy}","received_events_url":"https://api.github.com/users/antonmoiseev/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/joestump/python-oauth2/labels/Bug","name":"Bug","color":"eb6420"},{"url":"https://api.github.com/repos/joestump/python-oauth2/labels/Needs%20Tests","name":"Needs Tests","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/joestump/python-oauth2/milestones/1","html_url":"https://github.com/joestump/python-oauth2/milestones/2.0","labels_url":"https://api.github.com/repos/joestump/python-oauth2/milestones/1/labels","id":1230854,"number":1,"title":"2.0","description":"The poor library is used by many, forked by a few brave souls, and maintained by nobody. Good news! We were able to get it transferred and are digging into the PRs. We're adding issues and PRs to this milestone in an attempt to get this library into tip top shape.","creator":{"login":"joestump","id":37667,"avatar_url":"https://avatars.githubusercontent.com/u/37667?v=3","gravatar_id":"","url":"https://api.github.com/users/joestump","html_url":"https://github.com/joestump","followers_url":"https://api.github.com/users/joestump/followers","following_url":"https://api.github.com/users/joestump/following{/other_user}","gists_url":"https://api.github.com/users/joestump/gists{/gist_id}","starred_url":"https://api.github.com/users/joestump/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joestump/subscriptions","organizations_url":"https://api.github.com/users/joestump/orgs","repos_url":"https://api.github.com/users/joestump/repos","events_url":"https://api.github.com/users/joestump/events{/privacy}","received_events_url":"https://api.github.com/users/joestump/received_events","type":"User","site_admin":false},"open_issues":13,"closed_issues":6,"state":"open","created_at":"2015-07-29T03:37:04Z","updated_at":"2015-08-02T21:04:05Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2011-07-06T16:04:29Z","updated_at":"2015-11-06T19:16:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/joestump/python-oauth2/pulls/76","html_url":"https://github.com/joestump/python-oauth2/pull/76","diff_url":"https://github.com/joestump/python-oauth2/pull/76.diff","patch_url":"https://github.com/joestump/python-oauth2/pull/76.patch"},"body":"keep_blank_values in OAuthToken.from_string method should be set True, otherwise you will get an unhandled exception trying fetch oauth_token_secret from response if OAuth server doesn't supply this parameter. For example Evernote's OAuth server doesn't provide oauth_token_secret parameter if signature method is PLAINTEXT."},"comment":{"url":"https://api.github.com/repos/joestump/python-oauth2/issues/comments/154505264","html_url":"https://github.com/joestump/python-oauth2/pull/76#issuecomment-154505264","issue_url":"https://api.github.com/repos/joestump/python-oauth2/issues/76","id":154505264,"user":{"login":"dieselmachine","id":664806,"avatar_url":"https://avatars.githubusercontent.com/u/664806?v=3","gravatar_id":"","url":"https://api.github.com/users/dieselmachine","html_url":"https://github.com/dieselmachine","followers_url":"https://api.github.com/users/dieselmachine/followers","following_url":"https://api.github.com/users/dieselmachine/following{/other_user}","gists_url":"https://api.github.com/users/dieselmachine/gists{/gist_id}","starred_url":"https://api.github.com/users/dieselmachine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dieselmachine/subscriptions","organizations_url":"https://api.github.com/users/dieselmachine/orgs","repos_url":"https://api.github.com/users/dieselmachine/repos","events_url":"https://api.github.com/users/dieselmachine/events{/privacy}","received_events_url":"https://api.github.com/users/dieselmachine/received_events","type":"User","site_admin":false},"created_at":"2015-11-06T19:16:29Z","updated_at":"2015-11-06T19:16:29Z","body":"I don't have a test, but I do have a link to the spec that clearly states that empty params are not to be discarded:\r\n\r\nhttp://oauth.net/core/1.0/#anchor14\r\n\r\n\"Parameters are concatenated in their sorted order into a single string. For each parameter, the name is separated from the corresponding value by an ‘=’ character (ASCII code 61), even if the value is empty. Each name-value pair is separated by an ‘&’ character (ASCII code 38). For example:\"\r\n\r\nAnd here is a link to the original issue I reported 5 years ago:\r\n\r\nhttps://code.google.com/p/oauth/issues/detail?id=143"}}