본문 바로가기

완료

자동 로그인

Hide_D2020.05.13 10:21조회 수 1128댓글 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 824
공지 완료 시나리오 제안 시 구성 방법에 대해 안내합니다. (22-03-13) Hide_D 2022.03.13 2022.03.13 2243
공지 완료 마이너 서버 요청 가이드 갓세정 2022.06.28 2018.12.03 3760
공지 완료 신규 시나리오 제안 가이드 갓세정 2018.07.16 2018.05.30 3503
148 완료 전쟁중 상태에서 전쟁중이 아닌 상태로 변할 때 시스템상으로 휴전이 아니라 종전이라고 표시되게 해주세요2 미과 2024.05.29 2024.05.24 101
147 완료 유저 페널티 항목 추가 Hide_D 2024.06.02 2024.06.02 159
146 완료 쓰레기통 게시판 신설4 제갈근 2024.06.08 2024.06.08 281
145 완료 신규 시나리오 강서유서 소설 월드1 dwfef 2024.03.17 2024.03.09 262
144 완료 내정이라는 용어의 중의성 해소 포스트모더니즘 2024.02.25 2024.02.25 234
143 완료 유산 포인트 사용 - 턴 시간 고정 수정6 사스케 2024.02.24 2023.10.16 265
142 완료 HideD 할일: 유산 포인트 재점검1 SARS 2023.07.27 2023.07.27 159
141 완료 애니집결 10차 본! dwfef 2023.01.22 2023.01.21 70
140 완료 사람에 대한 분쟁이 일어나는 문제3 류화영 2023.06.06 2023.06.06 169
139 완료 깃수 초기화 시, 최근 읽은 갠메 정보가 초기화되지 않음 Hide_D 2023.05.16 2023.05.16 151
138 완료 접속량 정보에서 접속자 수가 정상적으로 표시되지 않는 이슈1 쿠마 2023.02.23 2022.10.18 162
137 완료 선택한 턴을... "텍스트로 복사하기" Hide_D 2023.02.04 2023.02.04 188
136 완료 피장파장의 피장파장2 Hide_D 2023.01.28 2023.01.18 186
135 완료 궁병 + 저격 + 출병 + 1페이즈 전멸 시 선제 사격에 저격이 들어갈 수 있는 버그 Hide_D 2023.01.08 2023.01.08 199
134 완료 아시아명장전 빙의전용 시나리오 갓세정 2023.01.03 2023.01.02 197
133 완료 플레이하지 않은 깃수마다 유산 500 포인트 적립해주는 안(뉴비 지원금)2 Hide_D 2022.10.04 2022.10.03 253
132 완료 은퇴 헌납 중인 엔장들에게 포상이 안되게 해주세요.1 잠입 2022.10.04 2019.08.19 665
131 완료 은퇴 시 최대 임관 년수, 숙련, 최대 연속 내정 성공 관련 문제1 Hide_D 2022.10.02 2022.09.26 249
130 완료 불가침 기간 관련 표기? 1달 차이? 버그1 Hide_D 2022.10.02 2022.09.21 201
129 완료 첫 하야 했을때 패널티 없는거->멸망에 준하는 패널티로5 김나영 2022.09.21 2022.07.20 376
첨부 (0)