← 질문 목록
#279깊이 0

비밀번호를 앱에 안 주고 로그인하는 방법은?

인프라 · 보안기초인증·인가

인가 서버에서만 비밀번호를 넣고 앱은 코드를 받아 토큰으로 바꾼다. 앱은 비밀번호를 한 번도 보지 않는다.

  1. 1. 사용자에서 앱 서버로: 로그인을 누른다
  2. 2. 앱 서버에서 사용자로: 인가 서버로 보낸다
  3. 3. 사용자에서 인가 서버로: 아이디와 비밀번호를 넣는다
  4. 4. 인가 서버에서 앱 서버로: 인가 코드를 준다. 토큰이 아니다
  5. 5. 앱 서버에서 인가 서버로: 코드와 앱 비밀키를 주고 토큰을 받는다

코드와 토큰을 나누는 이유가 요점이다. 코드는 주소창을 거쳐 오므로 주소 기록이나 referrer에 남을 수 있다. 그래서 코드만으로는 토큰이 안 된다.

토큰을 주소창으로 바로 받는 방식도 있었지만 지금은 권하지 않는다. 주소는 이력과 로그에 남는다.

무엇으로 묶는지는 앱 종류에 따라 다르다. 서버가 있는 앱은 비밀키로 자기를 밝히고, 브라우저나 모바일 앱처럼 비밀키를 숨길 데가 없으면 PKCE로 묶는다. 지금 권고는 어느 쪽이든 PKCE를 쓰는 것이다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

비밀번호를 앱에 안 주고 로그인하는 방법은?