안녕하세요 React Native으로 React Query 를 이용해서 소셜로그인 기능을 구현중입니다. 이유는 간단하게 템플릿으로 매 프로젝트 진행할때마다 수월하게 하기 위해서 입니다. RefreshToken을 DB에 넣는편이 좋을까요 안넣는편이 좋을까요? 일반적인 앱 로그인 플로우 차트 알려주시면 감사하겠습니다,, 현재는 keychain으로 넣고 끝입니다.. accessToken 만료 시 2개 토큰 전부 재발급 해주고 있구요.
현재 프로젝트를 진행중인데, Access Token과 Refresh Token을 헤더에 담아 로컬스토리지에 저장하는 방법을 사용중입니다. 그런데 로컬 스토리지는 보안에 취약하다는 글을 보았습니다. 로컬 스토리지에 담아도 jwt 정책으로 대응이 가능하다는 글도 있었습니다. Access Token과 Refresh Token을 어디에 저장해야 할까요? 만약 로컬 스토리지나 쿠키에 저장한다면 어떻게 관리해야하나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 지나가던 개발자 1입니다. 현재 고민중인 부분에 있어 다른 분들의 의견을 얻고자 글 남겨봅니다. 일반적으로 소셜로그인을 구현한다고 하면 여러 방법이 존재합니다. 모바일을 이용한 소셜로그인을 구현한다고 하면, Firebase을 이용하여 구현할수도있고 웹페이지에서 소셜로그인을 구현한다고 하면 OAuth2.0 방식을 이용하여 각각의 Resource server 에서 access token을 받아 구현할수도 있습니다. 이런 소셜로그인을 구현하기에 앞서 토큰 관리에 대해 고민중입니다. access token을 이용할때 탈취의 위험성및 여러 이유들로 기한을 짧게 가져가게 됩니다, 혹은 제공되어지는 access token의 유효시간은 매우 짧습니다. 이런 부분을 보완하고자 refresh token을 이용하게 되는데 결국 이 refresh token이 노출되게되면 위험요소가 발생하게 됩니다. 그럼 이 refresh token을 어디에 저장하는게 가장 좋을까요? Server session에 저장후 Timeout을 걸어 만료되게끔 한다던가, Database에 저장하여 API 요청으로 Index값이 출력되게끔 한다던가, 여러 방안을 고민중인데 혹시 다른분들은 어떤식으로 생각하시는지 의견을 듣고자 합니다. 긴 글 읽어주셔서 감사합니다.