public static Map<String, List<String>> parseMap(String s) { if(null == s || s.length() == 0) { return Collections.emptyMap(); } Map<String, List<String>> params = new LinkedHashMap<>(); parse(s, params); return params; }
if (!addParam(params, Urls.decode(s.substring(pos, i)), "")) { return; if (!addParam(params, name, Urls.decode(s.substring(pos, i)))) { return; addParam(params, Urls.decode(s.substring(pos, i)), ""); } else { // Yes and this must be the last value. addParam(params, name, Urls.decode(s.substring(pos, i))); addParam(params, name, "");
public static QueryString parse(String s) { if(null == s || s.length() == 0) { return QueryString.EMPTY; } QueryStringMap params = new QueryStringMap(); parse(s, params); return params; }
/** * Login with default user and the given client and returns the access token from oauth2 server. */ public String obtainAccessTokenImplicit(String clientId, String redirectUri) { String uri = serverContextPath + authorizeEndpoint + "?client_id=" + clientId + "&redirect_uri=" + Urls.encode(redirectUri) + "&response_type=token"; login(); String redirectUrl = client.get(uri).assertRedirect().getRedirectUrl(); Map<String,Object> params = QueryStringParser.parse(Urls.getQueryString(redirectUrl)).getParameters(); if(params.containsKey("error")) { TestCase.fail("oauth2 error : " + params.get("error")); } return (String)params.get("access_token"); }
@Override public State preLoginAuthentication(Request request, Response response, LoginContext context) throws Throwable { String savedQueryString = request.getParameter(STATE_ATTRIBUTE); if(Strings.isEmpty(savedQueryString)) { return State.CONTINUE; } if(null != loginUrl) { context.setLoginUrl(loginUrl); } String savedQueryStringDecoded = Urls.decode(savedQueryString); QueryString qs = QueryStringParser.parse(savedQueryStringDecoded); if(qs.isEmpty()) { return State.CONTINUE; } OAuth2Params params = new QueryOAuth2Params(qs); ResponseTypeHandler handler = getResponseTypeHandler(request, response, params); if(null == handler) { return State.INTERCEPTED; } Result<AuthzClient> result = handler.validateRequest(request, response, params); if(result.isIntercepted()) { return State.INTERCEPTED; } exposeViewData(request, params, result.get(), savedQueryStringDecoded); return State.CONTINUE; }
@Override public State preLoginAuthentication(Request request, Response response, LoginContext context) throws Throwable { String savedQueryString = request.getParameter(STATE_ATTRIBUTE); if(Strings.isEmpty(savedQueryString)) { return State.CONTINUE; } if(null != loginUrl) { context.setLoginUrl(loginUrl); } QueryString qs = QueryStringParser.parse(Urls.decode(savedQueryString)); if(qs.isEmpty()) { return State.CONTINUE; } OAuth2Params params = new QueryOAuth2Params(qs); ResponseTypeHandler handler = getResponseTypeHandler(request, response, params); if(null == handler) { return State.INTERCEPTED; } Result<AuthzClient> result = handler.validateRequest(request, response, params); if(result.isIntercepted()) { return State.INTERCEPTED; } exposeViewData(request, params, result.get(), savedQueryString); return State.CONTINUE; }
QueryString qs = QueryStringParser.parse(Urls.decode(savedQueryString)); if(qs.isEmpty()) { return State.CONTINUE;
QueryString qs = QueryStringParser.parse(Urls.decode(savedQueryString)); if(qs.isEmpty()) { return State.CONTINUE;