zoukankan      html  css  js  c++  java
  • 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;
    }
     
  • 相关阅读:
    CentOS安装Nginx Pre-Built
    CMake设置编译参数
    SQLServer脚本编写
    使用QNetworkAccessManager实现Qt的FTP下载服务
    使用CMD命令设置IP
    IIS6(Win2003) 使用.net 4.0 后,默认文档失效解决方案。
    windows7打印时,显示脱机,提示“服务器打印后台处理程序服务没有运行”。
    阻止浏览器自动填表
    Java经典编程题50道之四
    Java经典编程题50道之三
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/13389526.html
Copyright © 2011-2022 走看看