問題: www.xuecheng.com頁面登錄賬號後cookie信息在瀏覽器獲取不到
仔細確認了一個後臺設置cookie的方法確實沒有問題
//將令牌存儲到cookie
private void saveCookie(String token) {
HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
/**
* 設置cookie
*
* @param response
* @param name cookie名字
* @param value cookie值
* @param maxAge cookie生命週期 以秒爲單位
*/
CookieUtil.addCookie(response, cookieDomain, "/", "uid", token, cookieMaxAge, false);
}
/**
* 設置cookie
*
* @param response
* @param name cookie名字
* @param value cookie值
* @param maxAge cookie生命週期 以秒爲單位
*/
public static void addCookie(HttpServletResponse response,String domain,String path, String name,
String value, int maxAge,boolean httpOnly) {
Cookie cookie = new Cookie(name, value);
cookie.setDomain(domain);
cookie.setPath(path);
cookie.setMaxAge(maxAge);
cookie.setHttpOnly(httpOnly);
response.addCookie(cookie);
}
網上找了一下設置java設置cookie的參數介紹
void setComment(String purpose) 設置cookie中註釋。
void setDomain(String pattern) 設置cookie中Cookie適用的域名
void setMaxAge(int expiry) 以秒計算,設置Cookie過期時間。
void setPath(String uri) 指定Cookie適用的路徑。
void setSecure(boolean flag) 指出瀏覽器使用的安全協議,例如HTTPS或SSL。
void setValue(String newValue) cookie創建後設置一個新的值。
void setVersion(int v) 設置Cookie所遵從的協議版本。
對比一下視頻中的設置的參數
auth:
tokenValiditySeconds: 1200 #token存儲到redis的過期時間
clientId: XcWebApp
clientSecret: XcWebApp
cookieDomain: java.itcast.cn
cookieMaxAge: -1 #-1表示瀏覽器一關閉, 這個cookie就關閉了
發現cookieDomain參數有問題, 介紹中說void setDomain(String pattern) 設置cookie中Cookie適用的域名
而我們登錄賬號跳轉後的頁面是www.xuecheng.com ,所以更新cookieDomain爲xuecheng.com再次嘗試從新登錄
auth:
tokenValiditySeconds: 1200 #token存儲到redis的過期時間
clientId: XcWebApp
clientSecret: XcWebApp
cookieDomain: xuecheng.com
cookieMaxAge: -1 #-1表示瀏覽器一關閉, 這個cookie就關閉了
cookie出現, 問題解決