안녕하세요
OIDC 적용을 완료하고, nonce 검증을 추가하려 합니다.
아래와 같은 방식으로 하면 이슈가 없을지 확인해주시면 감사하겠습니다.
- 사용자가 카카오로 로그인 버튼을 눌러 로그인 절차가 시작될 때, 서버에 nonce 값을 요청
- 서버는 nonce 값 생성 후 DB 에 저장
- 클라이언트는 loginWithKakaoTalk() 호출시 서버로부터 받은 nonce 를 추가하여 호출
- 획득한 idToken 으로 서버에 자체 로그인 (자체 액세스토큰 발급) 요청
- 서버에서는 idToken 의 페이로드값 중 nonce 필드를 획득 후 (2에서 저장) DB 에 존재하는지 확인
- 확인이 완료되면 해당 nonce 는 DB 에서 파기하고 후속 절차 진행
위와 같이 서버 발급 및 서버DB 를 통해 nonce 값을 검증하려 하는데요.
이렇게 해야 안전한 것이 맞을까요? 서버를 통하지 않고 클라에서 자체 생성 후 서버 로그인 요청시 nonce 를 함께 전달하는 방식은 의미 없는 것이 맞죠?
답변 기다릴게요.
감사합니다~!