본문 바로가기

완료

자동 로그인

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 카이스트) 가오픈 기간동안 장수 생성 시간을 보여주도록 하기 (by Hide_D)

댓글 달기

댓글 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 314
공지 완료 시나리오 제안 시 구성 방법에 대해 안내합니다. (22-03-13) Hide_D 2022.03.13 2022.03.13 985
공지 완료 마이너 서버 요청 가이드 갓세정 2022.06.28 2018.12.03 2419
공지 완료 신규 시나리오 제안 가이드 갓세정 2018.07.16 2018.05.30 2898
65 완료 자가 발령/포상/몰수 입력 허가1 Hide_D 2020.05.14 2020.03.19 689
64 완료 숙련전환 수치오류1 카이스트 2020.04.30 2020.04.29 542
완료 자동 로그인2 Hide_D 2021.11.08 2020.05.13 904
62 완료 가오픈 기간동안 장수 생성 시간을 보여주도록 하기1 Hide_D 2022.05.11 2020.05.14 461
61 완료 유니크 개편 Hide_D 2021.09.19 2020.05.14 662
60 완료 깃수 이월 가능한 포인트 시스템2 Hide_D 2021.09.19 2020.06.21 769
59 완료 서버시간 위치 이동 건의2 Per 2021.12.09 2020.08.20 966
58 완료 보고된 버그들1 Hide_D 2022.03.29 2020.11.11 701
57 완료 30기용 코드 조각1 Hide_D 2020.12.20 2020.12.20 795
56 완료 말, 무기, 책에 특성 부여 Hide_D 2021.09.16 2021.03.26 655
55 완료 의병모집 건의 이드 2021.10.15 2021.08.21 528
54 완료 v0.23 버그 확인/수정 현황1 Hide_D 2021.09.16 2021.09.10 443
53 완료 v0.24 버그 확인/수정 현황 Hide_D 2021.10.15 2021.09.16 608
52 완료 전특 변경 필요.1 Hide_D 2021.11.25 2021.09.16 467
51 완료 NPC 빙의의 경우에 중반 이전 빙의 & 끝까지 살아남았다면 유산 포인트 부여 Hide_D 2021.09.19 2021.09.19 366
50 완료 NPC들이 토너먼트 10원 베팅하도록1 Hide_D 2022.03.29 2021.09.19 407
49 완료 NPC 종류별로 색을 다르게 띄우기1 Hide_D 2022.03.29 2021.09.19 406
48 완료 36기 전 필수 패치1 Hide_D 2021.11.14 2021.10.06 809
47 완료 NPC 군주 거병 후 이동 로직 변경1 Hide_D 2021.11.16 2021.10.17 472
46 완료 자율사령턴 포상금액 정책으로 제한가능하도록 건의2 평민킬러 2021.11.16 2021.10.21 603
첨부 (0)