본문 바로가기

완료

자동 로그인

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단계로 분리해야함.

    • 글자 크기
가오픈 기간동안 장수 생성 시간을 보여주도록 하기 (by Hide_D) 숙련전환 수치오류 (by 카이스트)

댓글 달기

댓글 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 308
공지 완료 시나리오 제안 시 구성 방법에 대해 안내합니다. (22-03-13) Hide_D 2022.03.13 2022.03.13 982
공지 완료 마이너 서버 요청 가이드 갓세정 2022.06.28 2018.12.03 2417
공지 완료 신규 시나리오 제안 가이드 갓세정 2018.07.16 2018.05.30 2895
181 반려 간만의 애니집결 + 7차본1 강서유서강 2022.03.29 2021.03.21 545
180 제안 NPC 정책 설정 개선안 수장 2021.03.02 2021.03.02 592
179 완료 30기용 코드 조각1 Hide_D 2020.12.20 2020.12.20 795
178 완료 보고된 버그들1 Hide_D 2022.03.29 2020.11.11 701
177 완료 서버시간 위치 이동 건의2 Per 2021.12.09 2020.08.20 966
176 제안 마이너서버 자율행동 중 군량매매에 관하여 건의드립니다.2 제갈근 2020.07.20 2020.07.18 799
175 완료 깃수 이월 가능한 포인트 시스템2 Hide_D 2021.09.19 2020.06.21 769
174 제안 필살률 표기 Hide_D 2020.06.10 2020.06.10 584
173 부분완료 NPC의 멸망 후 임관을 1턴 임관에서 0~11턴 견문 후 임관으로1 Hide_D 2022.08.28 2020.05.24 505
172 승인 매뉴얼을 만듭시다 Hide_D 2020.05.23 2020.05.23 456
171 반영중 부대장 턴 초기화(추방) 시 수뇌에게 공지 Hide_D 2020.05.26 2020.05.18 440
170 부분완료 '채널링기' 전략 추가 / 전략 발동 방식 변경1 Hide_D 2021.11.14 2020.05.17 539
169 완료 유니크 개편 Hide_D 2021.09.19 2020.05.14 662
168 완료 가오픈 기간동안 장수 생성 시간을 보여주도록 하기1 Hide_D 2022.05.11 2020.05.14 461
완료 자동 로그인2 Hide_D 2021.11.08 2020.05.13 904
166 완료 숙련전환 수치오류1 카이스트 2020.04.30 2020.04.29 542
165 제안 신엔진 버그 목록7 Hide_D 2020.06.21 2020.04.23 866
164 제안 고속도로 휴게소 맵1 Hide_D 2020.05.14 2020.03.26 771
163 부분완료 신엔진 AI 로직1 Hide_D 2021.12.09 2020.03.23 752
162 완료 자가 발령/포상/몰수 입력 허가1 Hide_D 2020.05.14 2020.03.19 689
이전 1 ... 4 5 6 7 8 9 10 11 12 13... 18다음
첨부 (0)