← 질문 목록
#263깊이 0
비밀번호를 앱에 안 주고 로그인하는 방법은?
답변 연습
내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요
인가 서버에서만 비밀번호를 넣고 앱은 코드를 받아 토큰으로 바꾼다. 앱은 비밀번호를 한 번도 보지 않는다.
- 1. 사용자에서 앱 서버로: 로그인을 누른다
- 2. 앱 서버에서 사용자로: 인가 서버로 보낸다
- 3. 사용자에서 인가 서버로: 아이디와 비밀번호를 넣는다
- 4. 인가 서버에서 앱 서버로: 인가 코드를 준다. 토큰이 아니다
- 5. 앱 서버에서 인가 서버로: 코드와 앱 비밀키를 주고 토큰을 받는다
코드와 토큰을 나누는 이유가 요점이다. 코드는 주소창을 거쳐 오므로 주소 기록이나 referrer에 남을 수 있다. 그래서 코드만으로는 토큰이 안 된다.
토큰을 주소창으로 바로 받는 방식도 있었지만 지금은 권하지 않는다. 주소는 이력과 로그에 남는다.
무엇으로 묶는지는 앱 종류에 따라 다르다. 서버가 있는 앱은 비밀키로 자기를 밝히고, 브라우저나 모바일 앱처럼 비밀키를 숨길 데가 없으면 PKCE로 묶는다. 지금 권고는 어느 쪽이든 PKCE를 쓰는 것이다.