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;
    }
     
  • 相关阅读:
    Oracle创建用户并赋予权限
    Oracle查询表空间使用情况
    Oracle更改数据库文件大小、实时增加文件容量
    Oracle查询数据中占用空间最大的表
    Oracle存储包存储及案例
    Oracle包Package调用Package
    Oracle存储过程Procedure语法及案例
    Oracle存储过程function语法及案例
    Oracle常用语法
    Oracle游标循环更新数据案例
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/13389526.html
Copyright © 2011-2022 走看看