public void establishEndpointSession() throws PwmUnrecoverableException { LOGGER.debug("establishing endpoint connection to " + endpointURL); final String m1 = id + salt; final String m1Hash = SecureEngine.hash(m1, PwmHashAlgorithm.SHA256).toLowerCase(); final String m2 = secret + m1Hash; final String m2Hash = SecureEngine.hash(m2, PwmHashAlgorithm.SHA256).toLowerCase(); final HashMap<String, Object> initConnectMap = new HashMap<>(); initConnectMap.put("salt", salt); initConnectMap.put("endpoint_secret_hash", m2Hash); initConnectMap.put("session_data", new HashMap<String, String>()); final PwmHttpClientResponse response = makeApiRequest(HttpMethod.POST, "/endpoints/" + id + "/sessions", initConnectMap); final String body = response.getBody(); final Map<String, String> responseValues = JsonUtil.deserializeStringMap(body); endpoint_session_id = responseValues.get("endpoint_session_id"); LOGGER.debug( "endpoint connection established to " + endpointURL + ", endpoint_session_id=" + endpoint_session_id); }
public List<NAAFChainBean> readChains(final String username) throws PwmUnrecoverableException { final Map<String, String> urlParams = new LinkedHashMap<>(); urlParams.put("username", username); urlParams.put("application", "NAM"); urlParams.put("is_trusted", "true"); urlParams.put("endpoint_session_id", this.getEndpoint_session_id()); final String url = PwmURL.appendAndEncodeUrlParameters("/logon/chains", urlParams); final PwmHttpClientResponse response = makeApiRequest(HttpMethod.POST, url, null); final NAAFChainInformationResponseBean naafChainInformationResponseBean = JsonUtil.deserialize(response.getBody(), NAAFChainInformationResponseBean.class); return naafChainInformationResponseBean.getChains(); }