protected boolean isInternalOnly() { if(null == internalOnly) { internalOnly = null == config ? false : config.getClientId().equals(OAuth2Client.INTERNAL_CLIENT_ID); } return internalOnly; } }
protected String buildRemoteLogoutUrl(Request request) { QueryStringBuilder qs = new QueryStringBuilder(); qs.add(OAuth2Params.CLIENT_ID, config.getClientId()); qs.add(OAuth2Params.POST_LOGOUT_REDIRECT_URI, buildLogoutRedirectUri(request)); return Urls.appendQueryString(config.getLogoutUrl(), qs.build()); }
protected AccessToken fetchAccessToken(HttpRequest request) { if(null != config.getClientId()){ request.addHeader(Headers.AUTHORIZATION, "Basic " + Base64.encode(config.getClientId()+":"+config.getClientSecret())); } HttpResponse response = request.send(); if(ContentTypes.APPLICATION_JSON_TYPE.isCompatible(response.getContentType())){ String content = response.getString(); log.debug("Received response : {}", content); JsonValue json = JSON.parse(content); if(!json.isMap()) { throw new OAuth2InternalServerException("Invalid response from auth server : not a json map"); }else{ Map<String, Object> map = json.asMap(); String error = (String)map.get("error"); if(Strings.isEmpty(error)) { return createAccessToken(map); }else{ throw new OAuth2InternalServerException("Auth server response error '" + error + "' : " + map.get("error_description")); } } }else{ throw new OAuth2InternalServerException("Invalid response from auth server"); } }
protected String buildLoginUrl(Request request) { QueryStringBuilder qs = new QueryStringBuilder(); String responseType = config.isLoginWithAccessToken() ? "code id_token" : "id_token"; qs.add(OAuth2Params.RESPONSE_TYPE, responseType); qs.add(OAuth2Params.CLIENT_ID, config.getClientId()); qs.add(OAuth2Params.REDIRECT_URI, buildClientRedirectUri(request)); qs.add(OAuth2Params.LOGOUT_URI, buildClientLogoutUri(request)); return "redirect:" + Urls.appendQueryString(config.getAuthorizeUrl(), qs.build()); }
if(null != config.getClientId()){ request.addHeader(Headers.AUTHORIZATION, "Basic " + Base64.encode(config.getClientId()+":"+config.getClientSecret()));
.setMethod(HTTP.Method.GET); if(null != config.getClientId()){ request.addHeader(Headers.AUTHORIZATION, "Basic " + Base64.encode(config.getClientId()+":"+config.getClientSecret()));