14강에서는 인증 구조가 한 단계 바뀌기 시작한다.
지금까지는 모든 요청에 username/password를 직접 실어서 인증했지만,
이제 API KEY를 인증 정보로 사용하기 위한 준비 단계에 들어간다.
13강에서 정리했던 문제를 다시 보면 이렇다.
username/password를 매번 전달했다하지만 이 방식에는 치명적인 단점이 있다.
👉 그래서 비밀번호 대신 사용할 수 있는 인증 수단이 필요해졌다.
그게 바로 API KEY다.
이번 강의에서 한 작업은 딱 두 가지다.
Member 엔티티에 apiKey 필드 추가username, apiKey에 유니크 제약(unique) 설정아직 “어디서 apiKey를 쓰는지”까지는 안 나왔고,
발급하고, 구분 가능하게 만드는 준비 단계라고 보면 된다.
@Entity
@Getter
@NoArgsConstructor
public class Member extends BaseEntity {
@Column(unique = true)
private String username;
private String password;
private String nickname;
@Column(unique = true)
private String apiKey;
public Member(String username, String password, String nickname) {
this.username = username;
this.password = password;
this.nickname = nickname;
this.apiKey = UUID.randomUUID().toString();
}
public String getName() {
return nickname;
}
}
즉, 이후에는 이렇게 바뀌게 된다.
이전: username + password
이후: apiKey
this.apiKey = UUID.randomUUID().toString();
이렇게 만든 이유는 명확하다.
👉 “추측 불가능한 식별자”로 쓰기 적합하다.
@Column(unique = true)
private String username;
@Column(unique = true)
private String apiKey;
👉 인증에 쓰이는 값은 반드시 유니크해야 한다.
중요한 포인트 하나.
14강에서는
apiKey를 “사용”하지 않고, “준비”만 했다.
이렇게 단계별로 가는 이유는:
14강은 눈에 띄는 기능 변화는 없지만,
인증 구조가 바뀌는 첫 출발점이다.
이제부터는:
이라는 방향으로 흐름이 이어진다.
이번 강의는 그 흐름을 위한 기초 공사라고 이해했다.