[안드로이드] 모바일 앱에서 OAuth2방식의 로그인을 구현해야하는 이유

Hyeonwoo Rue·2022년 1월 20일
0

안드로이드

목록 보기
2/3

OAuth2는 신뢰하기 어려운 기기(모바일)에서 사용되는 API 서비스의 보안을 위한 훌륭한 프로토콜이다. 또한 모바일 사용자를 인증할 수 있는 수단으로 토큰 인증방식을 제공한다. 사용자의 관점에서 OAuth2 토큰 인증은 다음과 같이 진행된다.(OAuth2는 이 프로세스를 Password Grant Flow라고 부른다.)

사용자가 모바일 앱을 실행하고, ID혹은 메일 주소와 비밀번호를 입력하는 창이 뜬다.
모바일 앱에서 입력 받은 사용자의 정보를 POST 방식으로 API 서버로 보낸다.(SSL)
유저 인증값을 검증하고 일정 시간이 지나면 만료될 액세스 토큰을 생성한다.
발급빧은 액세스 토큰을 모바일 기기에 저장한다. API토큰과 마찬가지로 보안이 적용되는 안전한 장소에 보관해야 하며, API 서비스에 접근할 때 이 토큰을 사용한다.
액세스 토큰이 만료되면 더이상 작동하지 않으며, ID 혹은 메일 주소와 비밀번호를 입력하는 창을 다시 띄운다.
OAuth2가 API 보안에 좋은 이유는 API키 자체를 안전하지 않은 환경에 저장할 필요가 없기 때문이다. 대신에 액세스 토큰을 생성하여 안전하지 않은 환경에 임시로 저장해놓기만 하면 된다. 공격자가 액세스 토큰에 접근할 수 있게 되더라도 일정 시간이 지나면 만료되기 떄문에 잠재적인 피해를 줄일 수 있다.

profile
파일럿 되기

0개의 댓글