So habe ich die Antwort für diese question als mein Tutorial für Token-basierte Authentifizierung verwendet. Aber ich habe immer noch ein Problem mit dem Autorisierungsheader einrichten.Bearer Header in Jax-Rs einrichten
In meiner authenticateUser Methode habe ich versucht, hier einen Träger Header einzurichten, th Code ist
@POST
@Path("https://stackoverflow.com/users/authentication")
@Produces("application/json")
@Consumes("application/x-www-form-urlencoded")
public Response getUsers(@FormParam("username") String username,
@FormParam("password") String password){
try{
if(userDao.existUser(username, password)){
User uUser = new User(userDao.getUser(username, password));
uUser.setToken(userDao.issueToken());
uUser.setTokenExpDate();
userDao.updateUser(uUser);
Response response = Response.ok(userDao.getUser(uUser.getId()).getToken())
.header(HttpHeaders.AUTHORIZATION, "Bearer "+userDao.getUser(uUser.getId()).getToken())
.build();
System.out.println(response.getHeaderString(HttpHeaders.AUTHORIZATION));
return response;
}
}catch(Exception e){
return Response.status(Response.Status.UNAUTHORIZED).build();
}
return null;
}
Wie Sie Ich gründe es auf Reaktionsvariable und es ist dort zu sehen. Aber sobald ich zur gesicherten Methode gehe und mein AuthenticationFilter aktiviert, finde ich heraus, dass die Überschrift, die ich von requestContext erhalte, null ist. Wie sende ich Token in dieser Situation richtig an diesen Header? Here's my full code