繁体   English   中英

JavaCode使用客户端ID /客户端密钥/令牌连接API管理器

[英]JavaCode To Connect API Mgr Using Client Id/Client Secret/Token

我有一个BE Java服务,它是RESTFul,它被移植到WSO2 API Manager上。 它已在Store中发布并可用。 我已经注册了一个新的应用程序(通过名称'Java App'),并且在订阅该API时,它为我提供了客户端密钥和客户端密钥以及令牌。 使用令牌我能够成功访问API(来自SOAP UI)。 我的要求是从独立的Java应用程序访问API。 有人可以指导我或提供可以访问已发布API的适当代码。

此致,Sreedhar。

您可以使用Apache HTTP客户端通过将Authorization作为HTTP标头发送来调用API。

String url = "API_URL";

HttpClient client = HttpClientBuilder.create().build();
HttpGet request = new HttpGet(url);

// add Authorization Header header
request.addHeader("Authorization", "Bearer :" + accessToken);
HttpResponse response = client.execute(request);

System.out.println("Response Code : " 
            + response.getStatusLine().getStatusCode());

BufferedReader rd = new BufferedReader(
    new InputStreamReader(response.getEntity().getContent()));

StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
    result.append(line);
}

对于使用用户名,密码和客户端密钥/密钥生成令牌,您可以使用以下cURL示例来构建HTTP请求。 可以在令牌api中找到更多信息

curl -k -d "grant_type=password&username=<username>&password=<password>" -H "Authorization: Basic SVpzSWk2SERiQjVlOFZLZFpBblVpX2ZaM2Y4YTpHbTBiSjZvV1Y4ZkM1T1FMTGxDNmpzbEFDVzhh" -H "Content-Type: application/x-www-form-urlencoded" https://localhost:8243/token

您必须以64位编码客户端密钥/密钥为基础,并使用授权标头将其作为基本发送。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM