Question

I'm trying to use oauth in a redmine 2.4.2 with the redmine_oauth_provider plugin (https://github.com/a-ono/redmine_oauth_provider).

I have configure a new client in redmine and get then the consumer key and consumer secret.

I try then to make an example using the scribe library (used by jenkins to make the oauth work).

But I can't get the request token, redmine send me back a 401 with body Invalid OAuth Request.

Here is the Service I wrote

package org.scribe.builder.api;

import org.scribe.model.Token;

public class RedmineApi extends DefaultApi10a {

    protected final String redmineUrl;

    public RedmineApi(String redmineUrl) {
        redmineUrl = redmineUrl.trim();
        if (!redmineUrl.endsWith("/")) {
            redmineUrl += "/";
        }
        this.redmineUrl = redmineUrl;
    }

    @Override
    public String getAccessTokenEndpoint() {
        return redmineUrl + "access_token";
    }

    @Override
    public String getAuthorizationUrl(Token requestToken) {
        return redmineUrl + "authorize?oauth_token=" + requestToken.getToken();
    }

    @Override
    public String getRequestTokenEndpoint() {
        return redmineUrl + "request_token";
    }
}

And the client test

    OAuthService service = new ServiceBuilder()
            .provider(new RedmineApi("https://nuiton.org/oauth"))
            .apiKey("XXX")
            .apiSecret("XXX")
            .debug()
            .build();

    Token requestToken = service.getRequestToken();

At runtime I got

using Http Header signature
sending request...
response status code: 401
Exception in thread "main" org.scribe.exceptions.OAuthException: Response body is    incorrect. Can't extract token and secret from this: 'Invalid OAuth Request'

And on the redmine side I got

Started POST "/oauth/request_token" for 78.216.18.159 at Wed Feb 05 22:30:13 +0100 2014
Processing by OauthController#request_token as HTML
  Current user: anonymous
  Rendered text template (0.0ms)
Filter chain halted as #    <OAuth::Controllers::ApplicationControllerMethods::Filter:0xf533d024 @options={:interactive=>false, :strategies=>:two_legged}, @strategies=[:two_legged]> rendered or redirected
Completed 401 Unauthorized in 3.5ms (Views: 0.6ms | ActiveRecord: 0.6ms)

Any help will be much appreciated.

No correct solution

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top