본문 바로가기

완료

자동 로그인

Hide_D2020.05.13 10:21조회 수 904댓글 2

    • 글자 크기

시대가 어느땐데 아직도 자동 로그인이 안됩니까

계정 하나당 기기 3개까진 자동로그인 되게 합시다.

로그인에 자동로그인을 기본값이 체크, 원할때 체크하지 않게 하기로.

 

 

(1) 서버측 request, 클라이언트 response 방식으로 HASH(token | nonce) 값 비교해서 자동 로그인 구현.

(2) state 보관과 관련된 구현이 안되어있으니 일단 API 요청은 자르고, 웹 요청만 수행하고 서버별 메인 페이지로 보내는 것으로

 

(3) 자동 로그인 상세 동작

[1] requireLogin의 Fallback 페이지를 auto_login.php?redirect=페이지&nonce=숫자로 설정

- 만약 auto_login_token 테이블에 해당 유저의 token의 valid_to를 확인해서 기간을 초과했다면 토큰 폐기 후 메인페이지로

[2] 토큰이 아직 유효하다면 auto_login_token 테이블에 해당 유저의 user_id, token, nonce 재설정. (nonce를 서버측에서 재설정하는 것에 유의)

[3] 클라이언트는 uri를 분석하여 token과 nonce를 재 조합하여 j_auto_login.php로 전송

[4] 서버는 테이블의 user_id, token, nonce가 모두 일치하는지 확인하고, 일치하면 로그인 성공처리, 실패하면 토큰 폐기

[5] 로그인 성공하면 클라이언트에서 location을 수정하여 redirect 페이지로 바로 이동

- 일단은 requireGameLogin은 redirect 후에 페이지 내부에서 처리함

 

(4) 일반 로그인 상세 동작

[1] 아이디/비밀번호로 로그인 (j_login.php)

[2] 로그인 성공 시 auto_login_token이 넉넉한지 확인하고, 초과했다면 가장 valid_to가 오래된 것부터 삭제

- 넉넉함의 기준은 3개   데스크탑, 폰, 태블릿(?)

[3] 새 토큰 발급, j_login.php의 응답값에 토큰을 추가

- valid_to는 로그인 기준 3개월 예상

[4] 토큰을 localStorage에 저장

 

(5) 예상되는 문제점

- 자동 로그인 토큰은 유효하지만 카카오톡 로그인 재인증이 필요한 경우

- 작성안은 API 자체로는 stateless하지 않아 세션 관리가 필요. 세션 없이 작동하려면 token을 OpenAPI 구현과 비슷하게 영구 토큰, 로그인 토큰의 2단계로 분리해야함.

    • 글자 크기

댓글 달기

댓글 2
  • Hide_D글쓴이
    2020.6.27 02:13 댓글추천 0비추천 0

    곰곰히 생각해보면 그냥 JWT 써도 되긴 한다.

  • Hide_D글쓴이
    2021.11.8 04:25 댓글추천 0비추천 0

    새로운 API 규격에 맞춰서 구현

     

    reqNonce -> loginByToken 핑퐁.

     

    로그인 동시 지원 수는 10개.

    지원 기간은 7일이나, 만료 2일 이내일 때 자동 갱신.

     

    자동 로그인 후 로그아웃 시 토큰 해제

번호 분류 제목 글쓴이 최근 수정일 날짜 조회 수
공지 토론중 갠톡, 단톡 등에서 설명하였던 내용을 모두 적어둡니다.18 Hide_D 2023.04.25 2023.02.05 312
공지 완료 시나리오 제안 시 구성 방법에 대해 안내합니다. (22-03-13) Hide_D 2022.03.13 2022.03.13 984
공지 완료 마이너 서버 요청 가이드 갓세정 2022.06.28 2018.12.03 2419
공지 완료 신규 시나리오 제안 가이드 갓세정 2018.07.16 2018.05.30 2898
85 완료 서버 목록에서 랜임 여부도 알 수 있었으면 좋겠습니다.1 수장 2019.05.23 2019.05.22 763
84 완료 찐유저무쌍!2 찌질이 2019.10.04 2019.09.27 627
83 완료 자율행동에서 징/모병 개선건의3 제노에이지 2019.11.11 2019.10.21 832
82 완료 내특/전특 변경 가능2 Hide_D 2020.04.06 2020.03.05 802
81 완료 숙련전환 수치오류1 카이스트 2020.04.30 2020.04.29 542
80 완료 천재가 안뜨는 버그 수정 Hide_D 2020.05.13 2020.02.03 560
79 완료 자가 발령/포상/몰수 입력 허가1 Hide_D 2020.05.14 2020.03.19 689
78 완료 지장은 보병궁병기병 특기가 나오지 않으면 좋겠습니다1 외심장 2020.05.25 2019.08.22 807
77 완료 전콘 적용변경에 대해서.2 페잇 2020.05.26 2018.10.24 979
76 완료 전투정보-대인 살상률 항목 추가1 평민킬러 2020.05.26 2018.09.11 718
75 완료 명장일람및 명예의 전당 추가 항목 신설 건의 - 함락2 아유 2020.05.26 2018.09.08 983
74 완료 30기용 코드 조각1 Hide_D 2020.12.20 2020.12.20 795
73 완료 v0.23 버그 확인/수정 현황1 Hide_D 2021.09.16 2021.09.10 443
72 완료 말, 무기, 책에 특성 부여 Hide_D 2021.09.16 2021.03.26 655
71 완료 유니크 개편 Hide_D 2021.09.19 2020.05.14 662
70 완료 깃수 이월 가능한 포인트 시스템2 Hide_D 2021.09.19 2020.06.21 769
69 완료 npc장수 로직 개선 요청5 김동팔 2021.09.19 2019.05.14 780
68 완료 v0.24 버그 확인/수정 현황 Hide_D 2021.10.15 2021.09.16 608
67 완료 의병모집 건의 이드 2021.10.15 2021.08.21 528
66 완료 환약사용 켬 끔 기능2 카이스트 2021.10.20 2019.10.11 827
첨부 (0)