2017-08-10 2 views
0

認証後にクッキーを保存しようとしていますが、正しいクッキーを受け入れる方法をauthenticateUserに適合させる方法を理解することはできません。私はクッキーがそれのようにdoesntのこれらの輸入品を使用している場合CookieはJaxax.servlet.httpまたはJavax.was.rs.coreを使用しますか?

@POST 
@Produces(MediaType.APPLICATION_JSON) 
@Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
public Response authenticateUser(@FormParam("username") String username, 
           @FormParam("password") String password) { 
try { 

    // Authenticate the user using the credentials provided 
    authenticate(username, password); 

    // Issue a token for the user 
    _logger.log(Level.INFO, "----ABOUT TO LOG TOKEN TO WILDFLY"); 
    String token = issueToken(username,"http://example.com","userToken",msInHour); //returns JWT token 
    _logger.log(Level.INFO, "----LOGGING TOKEN TO WILDFLY: ",token); 
    //return Response.ok(token).build(); 
    //https://stackoverflow.com/questions/7231156/how-to-set-cookie-in-jersey 
    return Response.ok(token) 
     .cookie(new NewCookie(createCookie(token,username))) 
     .build(); 



} catch (Exception e) { 
    _logger.log(Level.INFO, "----ERROR in AuthService:",e); 
    return Response.status(Response.Status.FORBIDDEN).build(); 
}  
} 


private Cookie createCookie(String token,String uname){ 
    //https://stackoverflow.com/questions/8889679/how-to-create-a-cookie-and-add-to-http-response-from-inside-my-service-layer 
    final Boolean useSecureCookie = true; 
    final int expiryTime = 60 * 60 * 24; // 24h in seconds 
    final String cookiePath = "/"; 
Cookie cookie = new Cookie("example.com", uname+"_"+token); 
cookie.setSecure(useSecureCookie); // determines whether the cookie should only be sent using a secure protocol, such as HTTPS or SSL 
cookie.setMaxAge(expiryTime); // A negative value means that the cookie is not stored persistently and will be deleted when the Web browser exits. A zero value causes the cookie to be deleted. 
cookie.setHttpOnly(true); 
cookie.setPath(cookiePath); // The cookie is visible to all the pages in the directory you specify, and all the pages in that directory's subdirectories 
return cookie; 
} 

setSecureを見つけることができません):

import javax.ws.rs.core.Cookie; 
import javax.ws.rs.core.NewCookie; 
import javax.ws.rs.core.Response; 

を私はクッキー、またはこの場合のauthenticateUserメソッドを修正するにはどうすればよいですか?

答えて

関連する問題