public StsUserBo getAssumeRole()

in src/main/java/com/aliyun/odps/kafka/connect/account/sts/StsService.java [15:47]


    public StsUserBo getAssumeRole(String ownId, String regionId, String stsEndpoint, String ak, String sk, String roleName) {

        StsUserBo stsUserBo = new StsUserBo();
        try {
            IClientProfile profile = DefaultProfile.getProfile(regionId, ak, sk);
            DefaultAcsClient client = new DefaultAcsClient(profile);

            AssumeRoleRequest request = new AssumeRoleRequest();

            request.setRoleSessionName("kafka-session-" + ownId);
            request.setMethod(MethodType.POST);
            request.setProtocol(ProtocolType.HTTPS);
            request.setEndpoint(stsEndpoint);

            request.setRoleArn(buildRoleArn(ownId, roleName));
            request.setActionName("AssumeRoleWithServiceIdentity");
            request.putQueryParameter("AssumeRoleFor", ownId);
            request.setDurationSeconds(12 * 60 * 60L);

            AssumeRoleResponse response = client.getAcsResponse(request);
            String userAk = response.getCredentials().getAccessKeyId();
            String userSk = response.getCredentials().getAccessKeySecret();
            String token = response.getCredentials().getSecurityToken();

            stsUserBo.setAk(userAk);
            stsUserBo.setSk(userSk);
            stsUserBo.setToken(token);
            stsUserBo.setOwnId(ownId);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return stsUserBo;
    }