/** * Formats a challenge response as a HTTP Authorization header value needed by ACS Management * OData Service */ @Override public String formatResponse( ChallengeResponse challenge, Request request, Series<Parameter> httpHeaders) { ChallengeWriter challengeWriter = new ChallengeWriter(); challengeWriter.append(challenge.getScheme().getTechnicalName()).appendSpace(); if (challenge.getRawValue() != null) { challengeWriter.append(challenge.getRawValue()); } else { formatRawResponse(challengeWriter, challenge, request, httpHeaders); } // Get ACS credentails String acsNameSpace = challenge.getIdentifier(); String acsMgmtPassword = new String(challenge.getSecret()); // Get token from ACS String swtToken = getTokenFromACS(acsNameSpace, acsMgmtPassword); // Append ACS token to the ChallengeWriter. Restlet library will // automatically // add this as Authorization HTTP header and use scheme technical name // ("bearer"). return challengeWriter.toString() + swtToken; }