我想在 Authorization 標頭中添加一個令牌作為 Bearer 令牌。但我不想有一個自定義攔截器類,我只想在我的 Controller 端點中有邏輯。我嘗試了很多東西,但它對我沒有用任何人都可以幫助我嗎?這是我的代碼:
@PostMapping("/signIn")
public String signIn(HttpServletResponse response, HttpServletRequest request,
@RequestParam String username, @RequestParam String password,
@RequestHeader HttpHeaders headers) {
UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken
= new UsernamePasswordAuthenticationToken(username, password);
String bearerToken = request.getHeader("Authorization");
String token = "hardcodedToken";
// headers.getFirst(HttpHeaders.AUTHORIZATION);
//headers.setBearerAuth(token);
//response.setHeader("Authorization", token);
//response.addHeader("Authorization", token);
headers.set("Authorization", bearerToken);
return token;
}
為了我的緣故,我剛剛創建了一個硬編碼的令牌,我想在 Auth Header 中將它作為 Bearer 令牌,正如您在我的評論中看到的那樣,我嘗試了幾種方法來解決這個問題,但沒有奏效。
uj5u.com熱心網友回復:
也許你可以試試這個:
@GetMapping("/response-builder-with-http-headers")
public ResponseEntity<String> usingResponseEntityBuilderAndHttpHeaders() {
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.set("Baeldung-Example-Header",
"Value-ResponseEntityBuilderWithHttpHeaders");
return ResponseEntity.ok()
.headers(responseHeaders)
.body("Response with header using ResponseEntity");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/419252.html
標籤:
下一篇:彈簧集成處理器
