결국 React Native 와 Nodejs 서버와의 aes 양방향 대칭키 암호화를 사용하기 위해서는 crypto-js 3.1.8 을 사용하면 된다. react-native-crypto-js 가 아니라 그냥 crypto-js@3.1.8 을 React Native 쪽에 사용해야 한다. node 쪽도 crypto-js 설치. (https://www.npmjs.com/package/crypto-js) 주간 다운로드 수가 500만이 넘어간다. 관련 사항(https://lifeonroom.com/study-lab/react-native-crypto-js/) 실무에 써먹기 좋은 글. crypto 기준. 단방향 암호화 비밀번호 저장을 위한 로직이 구체적으로 잘 나와 있다. https://zinirun.github.i..
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImI0YTlhYjYxLWJhZDktMTFlYi05ZTg5LTdiY2Q3ZDNlNWQyOCIsImlhdCI6MTYyMTY3Mjk3Nn0.6yEtyy0L9c9p2RmLQiardzXFd1eX55gp82mX8BYa1lw.U2FsdGVkX1/VJ+g+cOfBprUS47+uvC46T9Y03B2F3/PW3gTl4H/Q+f64bDUdXv5pUeWx6qNAUtfkWK9nNeHQS4nFtk3ynpGpKy6PPnc6g5Q= fullToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImI0YTlhYjYxLWJhZDktMTFlYi05ZTg5LTdiY2Q3ZDNlNWQyOCIsImlhdCI6M..
OAuth 2 OAuth 2 의 경우 Resource Owner : OAuth 1 의 User 와 같다. 리소스(가령 페북의 본인 사진 같은 것.) 의 개인 소유주이다. Client : Authorization Server 에 등록되어 사용자와의 상호작용을 위한 것. (페이스북의 앱 같은 것, App Id, App Secret 을 제공해준다. 네이버는 컨슈머라 칭한다.) Authorization Server : 실제 인증 및 인가를 위한 기능을 한다. 이곳에 Client 가 등록을 하고 Resource Owner 가 Client 에게 기능을 위임할 수 있도록 한다. Resource Server : API 를 통한 자원을 획득할 수 있는 실제 서비스 서버. 와 같은 주체들이 있다. Grant Types (..
쿠키란 클라이언트 측에서는 Cookie, 서버 측에서는 Set-Cookie 라는 헤더의 값을 통해 클라이언트와 서버가 정보를 전달하는 방식이다. Authentication 은 Authorization 과 구분된다. 인증 (Authentication) 은 아래의 여기서 설명하고 있는 키값을 통한 로그인을 의미하며 인가 (Authorization) 는 간단히 보면 이렇게 인증된 것만으로 인가여부가 결정될 수도 있으나 여기에 더해서 관리자, 일반사용자 와 같이 role 에 따른 권한 부여 절차까지를 의미한다. cookie session 방식: 세션 쿠키 (만료 시간 지정하지 않은 쿠키) 와 서버측의 세션 저장소를 통한 인증 방식. 서버측으로 인증정보 (아이디, 비번) 을 전송하면 서버에서는 Set-Cookie..
Cookie, Session, Auth, OAuth, 인증, safari 전통적 인증 방법. 만료일이 설정되지 않은 쿠키를 세션쿠키라고 하며 보통 이것으로 세션 id 를 저장한다. 클라이언트가 id, password 를 입력하고 서버로 요청을 보내면 서버는 이 정보가 맞는지 확인하고 맞다면 Set-Cookie 헤더에 session id 값을 넣어서 응답해준다. 클라이언트는 이 Set-Cookie 헤더 값을 자동으로 쿠키에 저장한다. 그리고 매번 서버에 요청시 이 session id 값을 Cookie 라는 헤더에 담아서 요청을 한다. 서버 측에서는 이 Cookie 정보에서 session id 값이 session storage 에 있다면 현재 로그인된 사용자로 간주한다. 이런 방식은 범용적으로 사용되긴 힘들..