인가 [HTTP] http에 대하여 - 인증/인가 (1) 마침 오늘 오전 인증/인가 관련 세션이 진행되어 이어서 내용 정리해본다. 로그인을 하면, 나는 상품을 구매할 수 있다. 내 비밀번호는 중요한 개인정보이기 때문에 서버는 그대로 저장하지 않고 암호화 작업을 거친 후 저장한다. 이 때 hash 함수가 사용된다. 원본 메세지를 알면 digest는 알 수 있음 하지만 digest를 알아도 원본 메세지는 알 수 없음 하지만 hash 함수도 결국 dig... 인가bcryptBackendPayloadJWT인증TokenhttpBackend JWT (Json Web Token)와 비대칭키 (실제 JWT 를 통해서 알 수 있는 데이터) 즉, 서버와 클라이언트가 주고받는 시스템에서 실제로 사용될 정보에 대한 내용이다. 사용자는 base64 decodeing을 통해서 header와 payload를 쉽게 얻을 수 있다. 하지만, secret은 서버만 알고 있기 때문에 header와 payload를 수정한 후 signature를 다시 만들 수 없다. payload가 수정되지 않았음이 ... 비대칭키JWT인증인가JWT 인증인가 #2 #인증인가 다시보기 인증? 로그인할 때 정확하게 아이디/비밀번호 입력했는지 확인하는 과정 인증은 왜 필요한가? 서비스를 누가 어떻게 사용하는지 추적할 수 있다. 가장 중요한 것은 당연히 비밀번호 개인정보 보호를 위한 암호화는? 단방향 해쉬로 hash? 원래 자료를 빠르게 탐색하기 위한 자료구조, 빠르게 i/o 가능해서 암호화에 사용하게 되었다. input => hash 함수 => output... 인가인증hashbcryptbcrypt 인증 & 인가 Authentication은 유저의 identification을 확인하는 절차 유저 아이디와 비번 생성 -> 유저 비번 암호화 해서 DB에 저장 > 유저 로그인 -> 아이디와 비밀번호 입력 > 유저가 입력한 비밀번호 암호화 한후 암호화되서 DB에 저정된 유저 비밀번호와 비교 -> 일치하면 로그인 성공 > 로그인 성공하면 access token을 클라이언트에게 전송 -> 유저는 로그인 성공후 ... 인증로그인인가로그인 No 6. 인증 & 인가란? 그렇다면 우리는 어떻게 관리해 주어야 할까? 해싱이란 쉽게 말해 난독화 한다는 뜻인데, 우리가 패스워드를 '1234'라고 적어도 DB에는 '1234'가 온전히 들어가는것이 아닌 'E7qsk4asdf' 이런식의 알아 볼 수 없는 문자로 들어가기 때문에 DB에서도 온전한 비밀번호를 알지못한다. 그렇다면 해싱을 어떻게 하는것일까? 단방향 해쉬는 인풋과 아웃풋을 1:1로 매칭하는 결괏값을 나타내는데... 인가인증인가 [2차 프로젝트][숙박 플랫폼] 카카오 소셜로그인 (REST API 방식, Redirect URI) 우리는 프론트엔드에서 인가코드와 로그인 토큰을 발급받은 후, 백엔드에 전송해주면 백엔드에서 해당 토큰으로 유저정보를 조회해 JWT토큰을 생성해 프론트에게 넘겨주기로 했다. 이 토큰은 프론트에서 로그인 여부를 확인해 페이지를 리다이렉트하거나 로그아웃, 혹은 백엔드로부터 인증이 필요한 요청을 할 때 사용한다. 인증/인가 과정과 JWT토큰에 대해서는 에서 정리해두었다. 🔹 사용한 방법 REST A... social-login소셜로그인토큰인증JWT소셜 로그인REST APIlogin인가카카오JWT
[HTTP] http에 대하여 - 인증/인가 (1) 마침 오늘 오전 인증/인가 관련 세션이 진행되어 이어서 내용 정리해본다. 로그인을 하면, 나는 상품을 구매할 수 있다. 내 비밀번호는 중요한 개인정보이기 때문에 서버는 그대로 저장하지 않고 암호화 작업을 거친 후 저장한다. 이 때 hash 함수가 사용된다. 원본 메세지를 알면 digest는 알 수 있음 하지만 digest를 알아도 원본 메세지는 알 수 없음 하지만 hash 함수도 결국 dig... 인가bcryptBackendPayloadJWT인증TokenhttpBackend JWT (Json Web Token)와 비대칭키 (실제 JWT 를 통해서 알 수 있는 데이터) 즉, 서버와 클라이언트가 주고받는 시스템에서 실제로 사용될 정보에 대한 내용이다. 사용자는 base64 decodeing을 통해서 header와 payload를 쉽게 얻을 수 있다. 하지만, secret은 서버만 알고 있기 때문에 header와 payload를 수정한 후 signature를 다시 만들 수 없다. payload가 수정되지 않았음이 ... 비대칭키JWT인증인가JWT 인증인가 #2 #인증인가 다시보기 인증? 로그인할 때 정확하게 아이디/비밀번호 입력했는지 확인하는 과정 인증은 왜 필요한가? 서비스를 누가 어떻게 사용하는지 추적할 수 있다. 가장 중요한 것은 당연히 비밀번호 개인정보 보호를 위한 암호화는? 단방향 해쉬로 hash? 원래 자료를 빠르게 탐색하기 위한 자료구조, 빠르게 i/o 가능해서 암호화에 사용하게 되었다. input => hash 함수 => output... 인가인증hashbcryptbcrypt 인증 & 인가 Authentication은 유저의 identification을 확인하는 절차 유저 아이디와 비번 생성 -> 유저 비번 암호화 해서 DB에 저장 > 유저 로그인 -> 아이디와 비밀번호 입력 > 유저가 입력한 비밀번호 암호화 한후 암호화되서 DB에 저정된 유저 비밀번호와 비교 -> 일치하면 로그인 성공 > 로그인 성공하면 access token을 클라이언트에게 전송 -> 유저는 로그인 성공후 ... 인증로그인인가로그인 No 6. 인증 & 인가란? 그렇다면 우리는 어떻게 관리해 주어야 할까? 해싱이란 쉽게 말해 난독화 한다는 뜻인데, 우리가 패스워드를 '1234'라고 적어도 DB에는 '1234'가 온전히 들어가는것이 아닌 'E7qsk4asdf' 이런식의 알아 볼 수 없는 문자로 들어가기 때문에 DB에서도 온전한 비밀번호를 알지못한다. 그렇다면 해싱을 어떻게 하는것일까? 단방향 해쉬는 인풋과 아웃풋을 1:1로 매칭하는 결괏값을 나타내는데... 인가인증인가 [2차 프로젝트][숙박 플랫폼] 카카오 소셜로그인 (REST API 방식, Redirect URI) 우리는 프론트엔드에서 인가코드와 로그인 토큰을 발급받은 후, 백엔드에 전송해주면 백엔드에서 해당 토큰으로 유저정보를 조회해 JWT토큰을 생성해 프론트에게 넘겨주기로 했다. 이 토큰은 프론트에서 로그인 여부를 확인해 페이지를 리다이렉트하거나 로그아웃, 혹은 백엔드로부터 인증이 필요한 요청을 할 때 사용한다. 인증/인가 과정과 JWT토큰에 대해서는 에서 정리해두었다. 🔹 사용한 방법 REST A... social-login소셜로그인토큰인증JWT소셜 로그인REST APIlogin인가카카오JWT