中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

springboot~用(yong)正則(ze)表達(da)式提取bearer token

  • 前后一體的應用,是這樣進行認證的
  1. 用戶向服務端發送驗證信息(用戶名、密碼);
  2. 服務端驗證成功就向用戶返回一個sessionid;
  3. 服務端保存了這個session_id對應的信息,并寫入用戶的 Cookie;
  4. 之后的每一次請求,都會通過Cookie,將session_id傳回服務端,服務端收到session_id,找到對應的數據,由此得知用戶的身份。
  • 前后分離之后,是這樣進行認證的
    bearer token是一種認證方式,是一種安全令牌,擁有 bearer token 的任何一方(被稱為 "bearer"),可以以任何方式,和同樣持有它的任何一方一樣地使用它來訪問受 OAuth 2.0保護的資源。

參考:

  • 在java帶中,我們一般把bearer token放到請求頭的Authorization中,我們可以通過正則來判斷token的合法性,并返回頭中的有效token
private String resolveFromAuthorizationHeader(HttpServletRequest request) {
  String authorization = request.getHeader("Authorization");
  Pattern authorizationPattern = Pattern.compile("^Bearer (?<token>[a-zA-Z0-9-:._~+/]+=*)$", Pattern.CASE_INSENSITIVE);//<token>的值就是真實的表達式配置的值

  if (!StringUtils.startsWithIgnoreCase(authorization, "bearer")) {
	 return null;
 }
 Matcher matcher = authorizationPattern.matcher(authorization);
 if (!matcher.matches()) {
   BearerTokenError error = BearerTokenErrors.invalidToken("Bearer token is malformed");
   throw new OAuth2AuthenticationException(error);
 }
return matcher.group("token");//從上面的正則表達式中獲取token
}
posted @ 2022-08-17 15:40  張占嶺  閱讀(1904)  評論(0)    收藏  舉報