【问题标题】:2-legged Oauth client not working with Scribe2 腿 Oauth 客户端不与 Scribe 一起使用
【发布时间】:2013-12-21 10:50:37
【问题描述】:

我正在尝试对一个自定义服务器(不是我的)进行身份验证,该服务器应该同时接受 2-legged 和 3-legged 身份验证。由于我正在针对此服务器验证我的服务器应用程序,我猜 2-legged 最适合这里。我只需要存储身份验证令牌以供将来调用,当它过期时,显然重复该过程。

因此,在 tutorialother tutorial 之后,我创建了我的 Scribe 超级简单客户端:

    OAuthService service = new ServiceBuilder()
       .provider(DummyAPIProvider.class)
       .apiKey("mykey")
       .apiSecret("mysecret")
       .build();

    OAuthRequest request = new OAuthRequest(Verb.GET, "http://orion.lab.fi-ware.eu:1026/version");

    Token accessToken = new Token("", "");
    String pepe = accessToken.toString();
    service.signRequest(accessToken, request);
    System.out.println(pepe);
    Response response = request.send();
    System.out.println(response.getBody());
    ret = response.getBody();

服务器的响应总是:

    Auth-token not found in request header

鉴于该消息,我不确定是否必须在请求中包含 auth-token...如果是的话...知道怎么做吗?

另一方面,我有一个能够进行此身份验证的 Javacript 客户端,主要由三个文件组成:config.js、oauth.js 和 server.js(它使用 Node 和 express)。检查它here。不过,这个客户端似乎正在执行 3-legged auth。

有什么想法吗?想法?

【问题讨论】:

    标签: java android oauth-2.0 scribe


    【解决方案1】:

    我在 service 上设置了 signatureType(SignatureType.Header),并使用了 2 legged provider 示例类 SimpleGeoApi;它对我有用!

    final OAuthService service = new ServiceBuilder()
                    .provider(SimpleGeoApi.class)
                    .apiKey("mykey")
                    .apiSecret("mysecret")
                    .signatureType(SignatureType.Header)
                    .build();
    
        new AsyncTask<Void, Void, Void>() {
            @Override
            protected Void doInBackground(Void... params) {
                OAuthRequest request = new OAuthRequest(Verb.GET, "http://myweb.com/chapters.json");
                service.signRequest(OAuthConstants.EMPTY_TOKEN, request);
                Response response = request.send();
                Log.w("TEST", response.getCode() + " ");
                Log.w("TEST: ", response.getBody());
                return null;
            }
        }.execute();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 2013-11-21
      • 2020-03-20
      • 1970-01-01
      相关资源
      最近更新 更多