swo2 SOA OAuth 使用,



分三步: 
1:申请 账号,密码 
2:得到token
3:使用token,调用api


2 得到token
 
public String getToken() {
    String token = "";
    String authorization = new BASE64Encoder().encode((consumerKey + ":" + consumerSecret).getBytes());
    authorization = authorization.trim();
    OkHttpClient client = new OkHttpClient();
    RequestBody formBody = new FormEncodingBuilder().add("grant_type", "client_credentials").build();
    Request request = new Request.Builder().url(tokenUrl).post(formBody)
            .addHeader("authorization", "Basic " + authorization)
            .addHeader("content-type", "application/x-www-form-urlencoded").addHeader("cache-control", "no-cache")
            .build();
    try {
        Response response = client.newCall(request).execute();
        if (response.isSuccessful()) {
            String result = response.body().string();
            JSONObject ret = JSONObject.parseObject(result);
            token = ret.getString("access_token");
            return token;
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

    return token;
}
 
3. 使用token 调用api
 
public String testOSP(String param) {
    String result = "";
    String token = wso2Uitil.getToken();  
    RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), param);
    Request request = new Request.Builder().url(ospurl).post(body)
            .addHeader("authorization", "Bearer " + token)
            .addHeader("cache-control", "no-cache").build();
    try {
        Response response = client.newCall(request).execute();
        result = response.body().string();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return result;
}
 

你可能感兴趣的:(swo2 SOA OAuth 使用,)