유저들이 들어오는 경로를 뜯어보다 보니 내 생각보다 로그인 비율이 높았다. (DAU의 10%)
생각되는 문제
1. 로그인 화면에 문제가 있다?
2. 재로그인이 많다면 기존 유저들이 뭔가 불편을 겪는 상황? 또는 우리 서비스를 어뷰징하는 상황? (비밀번호 틀려서 실패도 많았음)
3. 앱 재설치가 많다? (삭제, 재설치가 많다?)
그래서 로그인이 풀리는 상황을 찾다보니 토큰까지 왔다. 지금은 개발팀에서 설정한 토큰을 그냥 유지했던 상황.
우선 토큰 기간을 조절하는게 간단한 실험/해결책인 것 같아서 토큰을 조절하기로 했다.
근데 어떤 기준으로 해야하지? 생각하다보니 토큰의 종류까지 찾아보게 됨.
토큰에 대해 알아보자
GPT says..
- Access Token (액세스 토큰):
- 역할: 주로 서비스 또는 리소스에 대한 액세스를 인증하는 데 사용됩니다.
- 유효 기간: 보통 짧은 기간 (예: 몇 분에서 몇 시간)
- 동작 방식: 사용자가 인증을 성공적으로 완료하면, 서버는 사용자를 대신하여 해당 리소스에 액세스할 수 있는 토큰인 "액세스 토큰"을 발급합니다.
- 사용: 클라이언트 애플리케이션은 이 액세스 토큰을 사용하여 서비스 또는 리소스에 요청을 보냅니다. 일반적으로 API 요청의 헤더에 포함됩니다.
- Refresh Token (리프레시 토큰):
- 역할: 액세스 토큰을 갱신하는 데 사용됩니다. 주로 보안을 강화하고 사용자 경험을 향상시키기 위해 사용됩니다.
- 유효 기간: 보통 더 긴 기간 (예: 몇 일에서 몇 달)
- 동작 방식: 사용자가 로그인할 때 발급되며, 액세스 토큰이 만료되면 이를 사용하여 새로운 액세스 토큰을 요청합니다.
- 사용: 액세스 토큰이 만료되었거나 만료되기 직전에, 클라이언트 애플리케이션은 리프레시 토큰을 사용하여 새로운 액세스 토큰을 요청합니다. 이를 통해 사용자가 자동으로 로그인 세션을 유지할 수 있습니다.
간단히 말하면, 액세스 토큰은 서비스나 리소스에 직접적으로 액세스하는 데 사용되는 반면, 리프레시 토큰은 액세스 토큰을 갱신하고 사용자의 로그인 상태를 유지하는 데 사용됩니다.
즉, api는 access token, 로그인은 refresh token 으로 이해하면 될 듯
여기서 내가 조절하려는 건 리프레시 토큰.
(참고로 리프레시토큰이 있기 때문에 access token 주기를 짧게 관리할 수 있다고 한다)
보통 한 달 주기 사용이니까 5주로 늘릴까? 했는데 너무 그냥 고른 숫자 같아서 다시 찾아보기로 했다.
MS - 90일 (단, 싱글페이지앱은 24시간)
링크드인 - access token 60일, refresh token 1 yr. (link)
구글 - 별도 만료 없음. 계정 설정에서 revoke 하는 경우에만
The main concept of the refresh token is that it is long-lasting and never expires.
5주는 확실히 짧은 것 같고,, 보안에 문제가 없다면 6개월 ~ 1년까지 해보는 건 어떨까? 팀과 논의해봐야겠다.
결론은 나 혼자 내릴 수 없으니까. !!
참고로 해당 개발 반영 후 로그인한 건들만 해당 기간으로 설정된다고 한다.
쓰다보니 생긴 궁금증. 예를 들어 3/1 A계정 앱 로그인 된 상태 - [3/5 토큰 기간 연장 배포] - 3/7 A계정 유저 앱 접속(로그인 된 상태) => 이때 A계정의 토큰 유효기은 갱신되는가? -> 아마도 아닐 것 같은데 물어보기..
내가 토큰 조절로 기대하는 바
- 로그인 실패 api 호출 감소
- 기존 유저의 재로그인 시도 감소 (dau 는 유지하면서)
'study' 카테고리의 다른 글
앱스토어 개발자 계정 전환하기 (개인 -> 법인) (3) | 2021.05.19 |
---|---|
[서비스 정리] 7. 인스타그램의 신규 기능 소개 - 릴스 (0) | 2021.03.07 |
레슨런 챌린지 2기 - 2020년 12월 첫 주 (0) | 2020.12.16 |
[서비스 정리] 6. 포스트잇 (그 포스트잇 맞아요..!) (0) | 2020.11.27 |
[서비스 정리] 5. UX writing - 우리은행 유미의 200일 적금 (0) | 2020.11.26 |
댓글