Dropwizard를 사용하여 webapp의 RESTful 백엔드를 개발했습니다. 모든 잘 괜찮 및기본 인증이 올바른 선택입니까?
@POST
public void createEvent(@Auth User user, @FormParam("startTime") @NotNull @Min(0) Long startTime,
@FormParam("endTime") @NotNull @Min(0) Long endTime) {
validateEvent(startTime, endTime);
eventDAO.insertEvent(new Event(Util.convertMillisToDate(startTime), Util.convertMillisToDate(endTime), user.getName()));
}
는 사용자가 로그인되어 있는지 확인하기 위해,하지만이 사용된다.. 이제, 프론트 엔드 개발, 나는 내가 예를 들어, @Auth 주석을 사용하고있는 사용자를 로그인해야 http 기본 인증. 그 결과, 작업을 수행 할 때마다 서버에 사용자 이름과 암호를 보내야합니다. 그러면 클라이언트에게 암호를 어떻게 저장해야합니까? 내가 클라이언트에 암호를 해시해야합니까 (예 : 소금과 함께)? 쿠키는 컴퓨터에 액세스 할 수있는 사람들에게는 평문이 아닙니다. 나는 언제나 사용자 액세스 토큰을 사용해야합니까?
그래서 평생 동안 username-> user_token 관계를 저장합니까? – Amnestic
@Amnestic 네, 그게 기본적입니다. – Frxstrem
@Amnestic 또한 토큰이 길고 무작위로 (가능한 경우, 임의로 암호화 된 임의성으로) 생성되어 사람들이 사용자에게 액세스 할 수 있다고 추측 할 수 없도록하고 싶습니다. – Frxstrem