类javax.ws.rs.core.Cookie源码实例Demo

下面列出了怎么用javax.ws.rs.core.Cookie的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: cxf   文件: JAXRSUtilsTest.java
@Test
public void testMultipleCookieParameters() throws Exception {
    Class<?>[] argType = {String.class, String.class, Cookie.class};
    Method m = Customer.class.getMethod("testMultipleCookieParam", argType);
    Message messageImpl = createMessage();
    MultivaluedMap<String, String> headers = new MetadataMap<>();
    headers.add("Cookie", "c1=c1Value; c2=c2Value");
    headers.add("Cookie", "c3=c3Value");
    messageImpl.put(Message.PROTOCOL_HEADERS, headers);
    List<Object> params = JAXRSUtils.processParameters(new OperationResourceInfo(m,
                                                           new ClassResourceInfo(Customer.class)),
                                                       null,
                                                       messageImpl);
    assertEquals(3, params.size());
    assertEquals("c1Value", params.get(0));
    assertEquals("c2Value", params.get(1));
    assertEquals("c3Value", ((Cookie)params.get(2)).getValue());
}
 
@POST
@Path("/profile")
public Response verifySessionCookie(@CookieParam("session") Cookie cookie) {
  String sessionCookie = cookie.getValue();
  try {
    // Verify the session cookie. In this case an additional check is added to detect
    // if the user's Firebase session was revoked, user deleted/disabled, etc.
    final boolean checkRevoked = true;
    FirebaseToken decodedToken = FirebaseAuth.getInstance().verifySessionCookie(
        sessionCookie, checkRevoked);
    return serveContentForUser(decodedToken);
  } catch (FirebaseAuthException e) {
    // Session cookie is unavailable, invalid or revoked. Force user to login.
    return Response.temporaryRedirect(URI.create("/login")).build();
  }
}
 
源代码3 项目: cxf   文件: RuntimeDelegateImplTest.java
@Test
public void testCreateHeaderProvider() throws Exception {
    assertSame(MediaTypeHeaderProvider.class,
               new RuntimeDelegateImpl().
                   createHeaderDelegate(MediaType.class).getClass());
    assertSame(EntityTagHeaderProvider.class,
               new RuntimeDelegateImpl().
                   createHeaderDelegate(EntityTag.class).getClass());
    assertSame(CacheControlHeaderProvider.class,
               new RuntimeDelegateImpl().
                   createHeaderDelegate(CacheControl.class).getClass());
    assertSame(CookieHeaderProvider.class,
               new RuntimeDelegateImpl().
                   createHeaderDelegate(Cookie.class).getClass());
    assertSame(NewCookieHeaderProvider.class,
               new RuntimeDelegateImpl().
                   createHeaderDelegate(NewCookie.class).getClass());
}
 
源代码4 项目: jweb-cms   文件: UserInfoContextProvider.java
private Optional<UserInfoImpl> tryAutoLogin(ContainerRequestContext request, SessionInfo session) {
    Cookie cookie = request.getCookies().get(userWebOptions.autoLoginCookie);
    if (cookie != null) {
        try {
            TokenLoginRequest authenticationRequest = new TokenLoginRequest();
            authenticationRequest.token = cookie.getValue();
            LoginResponse authenticationResponse = userWebService.login(authenticationRequest);
            UserInfoImpl user = user(authenticationResponse.user);
            session.put(SESSION_USER_ID, user.id());
            return Optional.of(user);
        } catch (Throwable e) {
            logger.warn("invalid auto login token cookie, value={}", cookie.getValue());
        }
    }
    return Optional.empty();
}
 
@Override
public Response apply(ContainerRequestContext arg0) {
    OpenAPISpecFilter filter = FilterFactory.getFilter();
    if(filter != null) {
        Map<String, Cookie> cookiesvalue = arg0.getCookies();
        Map<String, String> cookies = new HashMap<>();
        if(cookiesvalue != null) {
            for(String key: cookiesvalue.keySet()) {
                cookies.put(key, cookiesvalue.get(key).getValue());
            }
        }

        MultivaluedMap<String, String> headers = arg0.getHeaders();
        // since https://github.com/swagger-api/swagger-inflector/issues/305 filtering of inflector extensions is handled at init time by ExtensionsUtils, and VendorSpecFilter is not needed anymore
        return Response.ok().entity(getOpenAPI()).build();
    }
    return Response.ok().entity(getOpenAPI()).build();
}
 
源代码6 项目: jweb-cms   文件: ClientInfoContextProvider.java
@Override
public ClientInfo get() {
    ClientInfo clientInfo = (ClientInfo) context.getProperty("__client_info");
    if (clientInfo == null) {
        String clientId;
        Map<String, Cookie> cookies = headers.getCookies();
        if (cookies.containsKey(webOptions.cookie.clientId)) {
            clientId = cookies.get(webOptions.cookie.clientId).getValue();
        } else {
            clientId = UUID.randomUUID().toString();
        }
        String language;
        if (cookies.containsKey(webOptions.cookie.language)) {
            language = cookies.get(webOptions.cookie.language).getValue();
        } else {
            language = app.language();
        }
        if (!app.supportLanguages().contains(language)) {
            language = app.language();
        }
        clientInfo = new ClientInfoImpl(clientId, language, context.getHeaderString("X-Client-IP"));
        context.setProperty("__client_info", clientInfo);
    }
    return clientInfo;
}
 
源代码7 项目: ranger   文件: RangerRESTClient.java
public ClientResponse put(String relativeURL, Object request, Cookie sessionId) throws Exception {
	ClientResponse response = null;
	int startIndex = this.lastKnownActiveUrlIndex;
	int currentIndex = 0;

	for (int index = 0; index < configuredURLs.size(); index++) {
		try {
			currentIndex = (startIndex + index) % configuredURLs.size();

			WebResource webResource = createWebResourceForCookieAuth(currentIndex, relativeURL);
			WebResource.Builder br = webResource.getRequestBuilder().cookie(sessionId);
			response = br.accept(RangerRESTUtils.REST_EXPECTED_MIME_TYPE).type(RangerRESTUtils.REST_MIME_TYPE_JSON)
					.put(ClientResponse.class, toJson(request));
			if (response != null) {
				setLastKnownActiveUrlIndex(currentIndex);
				break;
			}
		} catch (ClientHandlerException e) {
			LOG.warn("Failed to communicate with Ranger Admin, URL : " + configuredURLs.get(currentIndex));
			processException(index, e);
		}
	}
	return response;
}
 
源代码8 项目: query2report   文件: AuthenticationService.java
@Path("/logout")
@POST
@Produces(MediaType.APPLICATION_JSON)
public Response logoutUser(@CookieParam("Q2R_AUTH_INFO") Cookie cookie){
	String cookieValue = cookie.getValue();
	String tokenPatterns[] = cookieValue.split("_0_");
	
	if(tokenPatterns.length!=3)
		return Response.serverError().entity("Corrupt Token").build();
	
	logger.info("Logging out user "+tokenPatterns[0]);
	try{
		boolean validToken = UserManager.getUserManager().validateToken(tokenPatterns[0], cookieValue);
		if(validToken){
			UserManager.getUserManager().logoutUser(tokenPatterns[0]);
			return Response.ok("User "+tokenPatterns[0]+" logged out.").build();
		}else{
			return Response.serverError().entity("Logout failed").status(Response.Status.UNAUTHORIZED).build();
		}
	}catch(Exception e){
		return Response.serverError().entity("Logout failed").build();
	}
}
 
源代码9 项目: verigreen   文件: Request.java
public Request(
        String uri,
        Object entity,
        String mediaType,
        List<Cookie> cookies,
        Map<String, Object> headers) {
    
    _uri = uri;
    _entity = entity;
    _mediaType = mediaType;
    if (cookies != null) {
        _cookies = cookies;
    }
    if (headers != null) {
        _headers = headers;
    }
}
 
源代码10 项目: everrest   文件: CookieHeaderDelegate.java
@Override
public String toString(Cookie cookie) {
    if (cookie == null) {
        throw new IllegalArgumentException();
    }
    StringBuilder sb = new StringBuilder();

    sb.append("$Version=").append(cookie.getVersion()).append(';');

    sb.append(cookie.getName()).append('=').append(addQuotesIfHasWhitespace(cookie.getValue()));

    if (cookie.getDomain() != null) {
        sb.append(';').append("$Domain=").append(addQuotesIfHasWhitespace(cookie.getDomain()));
    }

    if (cookie.getPath() != null) {
        sb.append(';').append("$Path=").append(addQuotesIfHasWhitespace(cookie.getPath()));
    }

    return sb.toString();
}
 
源代码11 项目: cxf   文件: HttpHeadersImpl.java
public Map<String, Cookie> getCookies() {
    List<String> values = headers.get(HttpHeaders.COOKIE);
    if (values == null || values.isEmpty()) {
        return Collections.emptyMap();
    }

    Map<String, Cookie> cl = new HashMap<>();
    for (String value : values) {
        if (value == null) {
            continue;
        }


        List<String> cs = getHeaderValues(HttpHeaders.COOKIE, value,
                                          getCookieSeparator(value));
        for (String c : cs) {
            Cookie cookie = Cookie.valueOf(c);
            cl.put(cookie.getName(), cookie);
        }
    }
    return cl;
}
 
源代码12 项目: ranger   文件: RangerUgSyncRESTClient.java
public ClientResponse post(String relativeURL, Map<String, String> params, Object obj, Cookie sessionId)
		throws Exception {
	ClientResponse response = null;
	int startIndex = getLastKnownActiveUrlIndex();
	int currentIndex = 0;

	for (int index = 0; index < getConfiguredURLs().size(); index++) {
		try {
			currentIndex = (startIndex + index) % getConfiguredURLs().size();

			WebResource webResource = createWebResourceForCookieAuth(currentIndex, relativeURL);
			webResource = setQueryParams(webResource, params);
			WebResource.Builder br = webResource.getRequestBuilder().cookie(sessionId);
			response = br.accept(RangerRESTUtils.REST_EXPECTED_MIME_TYPE).type(RangerRESTUtils.REST_MIME_TYPE_JSON)
					.post(ClientResponse.class, toJson(obj));
			if (response != null) {
				setLastKnownActiveUrlIndex(currentIndex);
				break;
			}
		} catch (ClientHandlerException e) {
			LOG.warn("Failed to communicate with Ranger Admin, URL : " + getConfiguredURLs().get(currentIndex));
			processException(index, e);
		}
	}
	return response;
}
 
源代码13 项目: keycloak   文件: AuthenticationManager.java
public static AuthResult authenticateIdentityCookie(KeycloakSession session, RealmModel realm, boolean checkActive) {
    Cookie cookie = CookieHelper.getCookie(session.getContext().getRequestHeaders().getCookies(), KEYCLOAK_IDENTITY_COOKIE);
    if (cookie == null || "".equals(cookie.getValue())) {
        logger.debugv("Could not find cookie: {0}", KEYCLOAK_IDENTITY_COOKIE);
        return null;
    }

    String tokenString = cookie.getValue();
    AuthResult authResult = verifyIdentityToken(session, realm, session.getContext().getUri(), session.getContext().getConnection(), checkActive, false, true, tokenString, session.getContext().getRequestHeaders(), VALIDATE_IDENTITY_COOKIE);
    if (authResult == null) {
        expireIdentityCookie(realm, session.getContext().getUri(), session.getContext().getConnection());
        expireOldIdentityCookie(realm, session.getContext().getUri(), session.getContext().getConnection());
        return null;
    }
    authResult.getSession().setLastSessionRefresh(Time.currentTime());
    return authResult;
}
 
源代码14 项目: keywhiz   文件: CookieRenewingFilter.java
/**
 * If the user has a valid session token, set a new session token. The new one should have a later
 * expiration time.
 */
@Override public void filter(ContainerRequestContext request, ContainerResponseContext response)
    throws IOException {
  String sessionCookieName = sessionCookieConfig.getName();
  // If the response will be setting a session cookie, don't overwrite it; just let it go.
  if (response.getCookies().containsKey(sessionCookieName)) {
    return;
  }

  // If the request doesn't have a session cookie, we're not going to renew one.
  if (!request.getCookies().containsKey(sessionCookieName)) {
    return;
  }

  Cookie requestCookie = request.getCookies().get(sessionCookieName);
  Optional<User> optionalUser = authenticator.authenticate(requestCookie);
  if (optionalUser.isPresent()) {
    sessionLoginResource.cookiesForUser(optionalUser.get())
        .forEach(c -> response.getHeaders().add(HttpHeaders.SET_COOKIE, c));
  }
}
 
源代码15 项目: incubator-pinot   文件: ThirdEyeAuthFilter.java
private boolean isAuthenticated(ContainerRequestContext containerRequestContext, ThirdEyePrincipal principal) {
  Map<String, Cookie> cookies = containerRequestContext.getCookies();

  if (cookies != null && cookies.containsKey(AuthResource.AUTH_TOKEN_NAME)) {
    String sessionKey = cookies.get(AuthResource.AUTH_TOKEN_NAME).getValue();
    if (sessionKey.isEmpty()) {
      LOG.error("Empty sessionKey. Skipping.");
    } else {
      SessionDTO sessionDTO = this.sessionDAO.findBySessionKey(sessionKey);
      if (sessionDTO != null && System.currentTimeMillis() < sessionDTO.getExpirationTime()) {
        // session exist in database and has not expired
        principal.setName(sessionDTO.getPrincipal());
        principal.setSessionKey(sessionKey);
        LOG.info("Found valid session {} for user {}", sessionDTO.getSessionKey(), sessionDTO.getPrincipal());
        return true;
      }
    }
  }
  return false;
}
 
源代码16 项目: streamline   文件: SecurityCatalogResource.java
@POST
@Path("/users/current/logout")
@Timed
public Response logoutCurrentUser(@Context UriInfo uriInfo,
                                  @Context SecurityContext securityContext) throws Exception {
    User currentUser = getCurrentUser(securityContext);
    // Set-Cookie	hadoop.auth=deleted;Version=1;Path=/;Max-Age=0;HttpOnly;Expires=Thu, 01 Jan 1970 00:00:00 GMT
    Cookie cookie = new Cookie(AuthenticatedURL.AUTH_COOKIE, "deleted", "/", null);
    NewCookie newCookie = new NewCookie(cookie, null, 0, new Date(0), securityContext.isSecure(), true);
    return Response.status(OK)
            .entity(currentUser)
            .cookie(newCookie)
            .build();
}
 
源代码17 项目: presto   文件: FormWebUiAuthenticationFilter.java
public static NewCookie getDeleteCookie(boolean secure)
{
    return new NewCookie(
            PRESTO_UI_COOKIE,
            "delete",
            "/ui",
            null,
            Cookie.DEFAULT_VERSION,
            null,
            0,
            null,
            secure,
            true);
}
 
源代码18 项目: smallrye-jwt   文件: JWTAuthenticationFilter.java
@Override
protected String getCookieValue(String cookieName) {
    Cookie tokenCookie = requestContext.getCookies().get(cookieName);

    if (tokenCookie != null) {
        return tokenCookie.getValue();
    }
    return null;
}
 
源代码19 项目: msf4j   文件: HttpHeadersImplTest.java
@Test
public void testGetCookies() throws Exception {
    Map<String, Cookie> cookieMap = httpHeaders1.getCookies();
    assertNotNull(cookieMap);
    assertEquals(cookieMap.size(), 1);
    assertTrue(cookieMap.containsKey("JSESSIONID"));
    assertEquals(cookieMap.get("JSESSIONID").getValue(), "3508015E4EF0ECA8C4B761FCC4BC1718");

    Map<String, Cookie> cookieMap2 = httpHeaders2.getCookies();
    assertEquals(cookieMap2.size(), 0);
}
 
源代码20 项目: io   文件: TokenEndPointResource.java
@SuppressWarnings("unchecked")
private Response responseAuthSuccess(final IAccessToken accessToken, final IRefreshToken refreshToken) {
    JSONObject resp = new JSONObject();
    resp.put(OAuth2Helper.Key.ACCESS_TOKEN, accessToken.toTokenString());
    resp.put(OAuth2Helper.Key.EXPIRES_IN, accessToken.expiresIn());
    if (refreshToken != null) {
        resp.put(OAuth2Helper.Key.REFRESH_TOKEN, refreshToken.toTokenString());
        resp.put(OAuth2Helper.Key.REFRESH_TOKEN_EXPIRES_IN, refreshToken.refreshExpiresIn());
    }
    resp.put(OAuth2Helper.Key.TOKEN_TYPE, OAuth2Helper.Scheme.BEARER);
    ResponseBuilder rb = Response.ok().type(MediaType.APPLICATION_JSON_TYPE);
    if (accessToken.getTarget() != null) {
        resp.put(OAuth2Helper.Key.TARGET, accessToken.getTarget());
        rb.header(HttpHeaders.LOCATION, accessToken.getTarget() + "__auth");
    }

    if (issueCookie) {
        String tokenString = accessToken.toTokenString();
        // dc_cookie_peerとして、ランダムなUUIDを設定する
        String dcCookiePeer = UUID.randomUUID().toString();
        String cookieValue = dcCookiePeer + "\t" + tokenString;
        // ヘッダに返却するdc_cookie値は、暗号化する
        String encodedCookieValue = LocalToken.encode(cookieValue,
                UnitLocalUnitUserToken.getIvBytes(AccessContext.getCookieCryptKey(requestURIInfo.getBaseUri())));
        // Cookieのバージョン(0)を指定
        int version = 0;
        String path = getCookiePath();

        // Cookieを作成し、レスポンスヘッダに返却する
        Cookie cookie = new Cookie("dc_cookie", encodedCookieValue, path, requestURIInfo.getBaseUri().getHost(),
                version);
        rb.cookie(new NewCookie(cookie, "", -1, DcCoreConfig.isHttps()));
        // レスポンスボディの"dc_cookie_peer"を返却する
        resp.put("dc_cookie_peer", dcCookiePeer);
    }
    return rb.entity(resp.toJSONString()).build();
}
 
源代码21 项目: firebase-admin-java   文件: FirebaseAuthSnippets.java
@POST
@Path("/sessionLogout")
public Response clearSessionCookie(@CookieParam("session") Cookie cookie) {
  final int maxAge = 0;
  NewCookie newCookie = new NewCookie(cookie, null, maxAge, true);
  return Response.temporaryRedirect(URI.create("/login")).cookie(newCookie).build();
}
 
源代码22 项目: cxf   文件: HttpHeadersImplTest.java
@Test
public void testGetCookies() throws Exception {

    Message m = createMessage(createHeader(HttpHeaders.COOKIE, "a=$b;c=d"));
    HttpHeaders h = new HttpHeadersImpl(m);
    Map<String, Cookie> cookies = h.getCookies();
    assertEquals(2, cookies.size());
    assertEquals("$b", cookies.get("a").getValue());
    assertEquals("d", cookies.get("c").getValue());
}
 
源代码23 项目: jweb-cms   文件: UserAJAXController.java
private LoginAJAXResponse loginAJAXResponse(String userId) {
    LoginAJAXResponse response = new LoginAJAXResponse();
    response.userId = userId;
    Cookie url = requestContext.getCookies().get(COOKIE_FROM_URL);
    if (url != null) {
        response.fromURL = url.getValue();
    }
    return response;
}
 
源代码24 项目: everrest   文件: CookieParameterResolverTest.java
@Test
public void returnsNullWhenCookieNotFoundInRequestAndDefaultValueIsNotSet() throws Exception {
    when(cookieParam.value()).thenReturn("no cookie");
    when(parameter.getParameterClass()).thenReturn((Class)Cookie.class);

    Object resolvedCookie = cookieParameterResolver.resolve(parameter, applicationContext);

    assertNull(resolvedCookie);
}
 
源代码25 项目: cxf   文件: RuntimeDelegateImpl.java
public RuntimeDelegateImpl() {
    headerProviders.put(MediaType.class, new MediaTypeHeaderProvider());
    headerProviders.put(CacheControl.class, new CacheControlHeaderProvider());
    headerProviders.put(EntityTag.class, new EntityTagHeaderProvider());
    headerProviders.put(Cookie.class, new CookieHeaderProvider());
    headerProviders.put(NewCookie.class, new NewCookieHeaderProvider());
    headerProviders.put(Link.class, new LinkHeaderProvider());
    headerProviders.put(Date.class, new DateHeaderProvider());
}
 
源代码26 项目: portals-pluto   文件: LocaleResolverContextImpl.java
public LocaleResolverContextImpl(List<Locale> acceptableLanguages, Configuration configuration,
	Map<String, Cookie> cookies, Map<String, String> headers, UriInfo uriInfo) {
	this.acceptableLanguages = acceptableLanguages;
	this.configuration = configuration;
	this.cookies = cookies;
	this.headers = headers;
	this.uriInfo = uriInfo;
}
 
源代码27 项目: JaxRSProviders   文件: WebResourceFactory.java
private WebResourceFactory(final WebTarget target, final MultivaluedMap<String, Object> headers,
		final List<Cookie> cookies, final Form form, boolean isOSGiAsync) {
	this.target = target;
	this.headers = headers;
	this.cookies = cookies;
	this.form = form;
	this.isOSGiAsync = isOSGiAsync;
}
 
源代码28 项目: minnal   文件: AuthenticationFilterTest.java
@Test
public void shouldNotCreateSessionIfAuthCookieIsNotFoundAndCreateIsFalse() {
	when(context.getCookies()).thenReturn(Maps.<String, Cookie>newHashMap());
	Session session = mock(Session.class);
	when(sessionStore.createSession(any(String.class))).thenReturn(session);
	assertNull(filter.getSession(context, false));
}
 
源代码29 项目: dropwizard-auth-jwt   文件: JwtAuthFilter.java
private Optional<String> getTokenFromCookie(ContainerRequestContext requestContext) {
    final Map<String, Cookie> cookies = requestContext.getCookies();

    if (cookieName != null && cookies.containsKey(cookieName)) {
        final Cookie tokenCookie = cookies.get(cookieName);
        final String rawToken = tokenCookie.getValue();
        return Optional.of(rawToken);
    }

    return Optional.empty();
}
 
源代码30 项目: keycloak   文件: DefaultLocaleSelectorProvider.java
private Locale getLocaleCookieSelection(RealmModel realm, HttpHeaders httpHeaders) {
    if (httpHeaders == null) {
        return null;
    }

    Cookie localeCookie = httpHeaders.getCookies().get(LOCALE_COOKIE);
    if (localeCookie == null) {
        return null;
    }

    return findLocale(realm, localeCookie.getValue());
}