https://jwt.io/introduction JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io JWT(JSON Web Token) 당사자 간에 정보를 JSON 개체로 안전하게 전송하기 위한 간결하고 독립적인 방법을 정의하는 개방형 표준( RFC 7519 )이다. RFC 7519: JSON Web Token (JWT) www.rfc-editor.org JWT를 암호화하여 당사자 간에 비밀성을 제공할 수도 있지만 서명된 토큰으로 사용할 수도 있다. 구조 Header Payload Signature xxxxx.yyyyy.z..
JWT를 이해하기 전 RSA에 대해 간단히라도 알고 있는 것이 좋다. RSA 암호는 두 가지의 키를 가지고 있다. Public Key : 공개키 Private Key : 개인키 각 사용자는 자신의 공개키와 비밀키를 가지고 있다. 그리고 이 공개키는 말 그대로 공개되어도 괜찮은 키이다. 따라서 A 사용자가 B의 공개키를 통해 암호화할 수 있다. 이렇게 B의 공개키로 암호화되면 이것은 B의 개인키로만 복호화를 할 수 있다. 메시지의 내용이 노출되어도 상관없고 누가 보냈는 지가 더 중요한 경우가 있을 수 있다. A가 B에게 'A가 C에게 1억을 송금했다.'라는 메시지를 보낸다고 하자. 그러면 A는 이 메시지를 A의 개인키로 암호화해서 보낸다. A의 개인키로 암호화하면 A의 공개키로 열어 볼 수 있다. A의 공..
OSI 7 계층 롤을 플레이한다고 할 때 응용 계층인 롤 프로그램에서 궁극기를 쓰면, 그 데이터가 표현 계층에서 암호화된다. 만약 사진을 보낸다고 하면 표현 계층에서 사진의 데이터 크기가 크다면 압축을 한다. 그 후 세션 계층으로 와서 상대방에게 데이터를 보낼 수 있는지, 즉 인증이 되어 있는지 확인한다. 그 후 전송 계층에서 TCP 통신을 할지 UDP 통신을 할 지 결정을 한다. https://www.cloudflare.com/ko-kr/learning/ddos/glossary/open-systems-interconnection-model-osi/ TCP 클라이언트가 서버로 메시지를 보내면 서버는 잘 받았다는 의미로 ACK 신호를 보낸다. 그러면 클라이언트는 서버가 데이터를 잘 받았다는 것을 인식하고 ..
JWT(Json Web Token)에 대해 이해하기 전에 알고 있으면 좋은 개념들을 먼저 알아보자 세션 유저가 웹 브라우저를 통해 네이버 서버에 www.naver.com라고 적어서 요청을 하면 서버는 해당 주소에 맞는 컨트롤러의 메서드를 찾는다. 그리고 메서드에서 요청에 맞는 html 파일을 응답해 준다. 이때 http header를 단다. 이 header에 쿠키를 만들어서 쿠키에 세션 id를 담아서 준다. 웹 브라우저는 이 세션 id를 받아서 브라우저의 쿠키라는 저장영역에 세션 id가 담긴다. 이는 최초 요청 시에 만들어진다. 두 번째 요청부터는 브라우저가 쿠키에 있는 세션id를 가지고 간다. 두 번째 요청부터는 서버가 세션 id를 생성하지 않고 기존의 세션 id를 그대로 돌려준다. 서버는 세션id를 ..
현재 OAuth2-Client라는 라이브러리를 사용 중인데 여기에는 Provider가 있다. Provider에는 기본으로 구글, 페이스북, 트위터 등을 제공해 준다. 하지만 네이버나 카카오는 없다. 구글은 sub, 페이스북은 id인 것처럼 getAttribute()의 값이 다양하기 때문에 존재하는 모든 서비스들을 Provider로 제공하기 어렵다. 따라서 네이버 로그인을 이용하기 위해서는 직접 Provider로 등록해줘야 한다. application.properties (또는 application-oauth.properties) spring.security.oauth2.client.registration.naver.client-id=Client ID spring.security.oauth2.client...
https://developers.facebook.com/ Meta for Developers 꿈의 아틀리에 창조 BUCK의 크리에이터와 개발자로부터 Meta Spark를 사용하여 DIOR Beauty를 위한 AR 경험을 설계 및 빌드하는 과정에 대한 비하인드 스토리를 들어보세요. 이제 고급 액세스에 대한 비 developers.facebook.com 로그인하고 내 앱 클릭 application.properties spring.security.oauth2.client.registration.facebook.client-id=클라이언트ID spring.security.oauth2.client.registration.facebook.client-secret=앱 시크릿 코드 spring.security.oau..