通过HTTP中的HTTP对Freelancer.com API进行OAuth 2.0身份验证

时间:2017-12-09 08:31:03

标签: java oauth-2.0 freelancer.com-api

我试图通过http登录Freelancer.com web api,但无法通过身份验证。它是java中的桌面应用程序,我可以从提示符运行,所以没什么特别的,但我似乎无法通过该过程的第1步,接收授权响应。

local function format_as_json(obj)
    if obj == nil then return "null" else
        local buffer = {}
        format_any_value(obj, buffer)
        return table.concat(buffer)
    end
end

local function print_as_json(obj)
    print(_format_as_json(obj))
end

print_as_json {1, 2, 3}
print_as_json(nil)
print_as_json("string")
print_as_json {[1] = 1, [2] = 2, three = { { true } }, four = "four"}

文档:https://developers.freelancer.com/docs/authentication/generating-access-tokens

package project.monitor;

import java.io.IOException;
import org.jsoup.Connection;
import org.jsoup.Jsoup;

public class api {

    public static void main(String[] args) throws IOException {

        String authEndPoint = "https://accounts.freelancer.com/oauth/authorise";
        String apiEndPoint = "https://freelancer.com/api";

        String str = "https://accounts.freelancer.com/oauth/authorise?" + "response_type=code"
                + "&client_id=<647f4785-fe45-4182-b97a-f401e0b0d641>" + "&redirect_uri=<https://www.google.com/>"
                + "&scope=basic" + "&prompt=select_account%20consent&advanced_scopes=1%203";

        String json = Jsoup.connect(str).ignoreContentType(true).execute().body();
        System.out.println(json);

    }

}

这是怎么做到的?如何在eclipse中将授权代码重定向回我的程序?

1 个答案:

答案 0 :(得分:0)

到最后到达那里。为了他人的利益;

在从桌面运行的典型独立应用程序中,正确的授权类型是Client Credentials授权类型。

通过使用客户端凭据流,您的应用程序会为该应用程序的所有者生成OAuth访问令牌。因此,如果您的应用程序只需要作为该应用程序的所有者进行身份验证,那么您可以使用客户端凭据授予类型。