{"action":"opened","issue":{"url":"https://api.github.com/repos/mattrepl/clj-oauth/issues/51","repository_url":"https://api.github.com/repos/mattrepl/clj-oauth","labels_url":"https://api.github.com/repos/mattrepl/clj-oauth/issues/51/labels{/name}","comments_url":"https://api.github.com/repos/mattrepl/clj-oauth/issues/51/comments","events_url":"https://api.github.com/repos/mattrepl/clj-oauth/issues/51/events","html_url":"https://github.com/mattrepl/clj-oauth/issues/51","id":143852247,"number":51,"title":"Issue when using clj-oauth with Shapeways API","user":{"login":"theJenix","id":1337080,"avatar_url":"https://avatars.githubusercontent.com/u/1337080?v=3","gravatar_id":"","url":"https://api.github.com/users/theJenix","html_url":"https://github.com/theJenix","followers_url":"https://api.github.com/users/theJenix/followers","following_url":"https://api.github.com/users/theJenix/following{/other_user}","gists_url":"https://api.github.com/users/theJenix/gists{/gist_id}","starred_url":"https://api.github.com/users/theJenix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theJenix/subscriptions","organizations_url":"https://api.github.com/users/theJenix/orgs","repos_url":"https://api.github.com/users/theJenix/repos","events_url":"https://api.github.com/users/theJenix/events{/privacy}","received_events_url":"https://api.github.com/users/theJenix/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-03-27T21:52:38Z","updated_at":"2016-03-27T21:52:38Z","closed_at":null,"body":"Hi.\r\n\r\nI'm trying to use clj-oauth to integrate the Shapeways API (https://developers.shapeways.com/, uses Oauth 1.0) into my Clojure app, and am running into an issue with the request-token response.  It looks like they return the oauth_token value in the authentication_url (not as a separate key/value pair), and it looks like they screwed up the URL encoding such that there is an unescaped = sign in the authentication_url value.  E.g. \r\n`authentication_url=http%3A%2F%2Fapi.shapeways.com%2Flogin%3Foauth_token=SECRET&oauth_token_secret=SECRET2&oauth_callback_confirmed=true`\r\n\r\nWhen this is decoded, and the map returned to me, I get:\r\n{:authentication_url http://api.shapeways.com/login?oauth_token, :oauth_token_secret SECRET2, :oauth_callback_confirmed true}\r\n\r\nThe reason this is happening is because of how the string is parsed in oauth.client/form-decode.  It splits each parameter on \"=\" and then takes the first 2 values in that sequence, which throws away SECRET after \"oauth_token=...\" in this case.  A solution to this problem could be to limit that split to only 2 splits, which will always split on the first = found (I've tested this in my local copy and it works for my situation).  Another solution to this problem could be to let me bind my own form-decode function (thus letting me hack around an error in the API in my own code).  I'm happy to implement and issue a pull request, but I'd love some guidance on which solution you'd prefer for the library.\r\n\r\nAs a secondary question, I'm pretty new to Oauth but this pattern (of using an authentication url from the request-token, instead of defined in the Consumer) doesn't seem well supported by clj-oauth.  Am I understanding that correctly, and is there \"right\" way to support this pattern?\r\n\r\nThanks!\r\n"}}