라벨이 authentication인 게시물 표시

Git, GitHub - ID와 Token없이 git 사용하기(SSH)

이미지
1. ssh key 생성 $ ssh-keygen -t ed25519 -C "이메일 주소" 사진1) ssh key 생성 기본 경로값은 "~/.ssh/id_ed25519"를 사용한다. 2. ssh 에이전트 실행 및 키 등록 $ eval "$(ssh-agent -s)" $ ssh-add ~/.ssh/id_ed25519 사진2) 공개키 조회 위 2개의 터미널을 "~/.bashrc" 또는 "~/.zshrc"에 추가해서 재부팅 후에도 키가 등록되게 할수 있다. 3. 공개키를 GitHub에 등록 $ cat ~/.ssh/id_ed25519.pub 사진3) public key GitHub에 들어가서 Setting을 클릭한다. 사진4) Access 설정에서 "SSH and GPG keys"을 클릭한다. 사진5) SSH and GPG keys 선택 "New SSH Key"를 선택해서 터미널에서 복사한(사진3) public key를 추가한다. 사진6) public key를 넣기 생성이 정상적으로 됬으면 아래와 같이 "Authentication keys"가 추가된 것을 확인할수 있다. 다만 한번도 사용이 안되어 있어서 "Never used - Read/write"로 되어있다. 사진7) Authentication key 추가 모습 4. ssh config 설정 .ssh 폴더안에 config파일을 생성해서 아래와 같은 내용을 추가한다. Host github.com   HostName github.com   User git   IdentityFile ~/.ssh/id_ed25519   IdentitiesOnly yes 사진8) config 저장모습 이후에 권한을 위해서 아래 터미널을 실행 $ chmod 600 ~/.ssh/config 제대로 설정됬는지 아래 터미널을 실행할수 있다. $ ssh ...

Session authentication(세션 인증) JavaScript 코드

이미지
 안녕하세요. 저번 글에 이어서 실제로 세션을 이용하여 코드를 작성하도록 하겠습니다.  세션에 대한 개념적 설명을 링크 를 참고해 주시기 바랍니다. 먼저 npm init을 진행합니다. npm 초기화 방법은 링크 를 참고해 주시기 바랍니다. 4개의 npm 모듈을 설치합니다. express, express-session, cookie-parser, nodemon 이중 nodemon은 해당 링크 에서 설치 및 사용법이 나와 있습니다. 설치가 완료가 된 다음 위와 같이 index.js파일을 만들어줍니다. const express = require ( "express" ); const session = require ( "express-session" ); const cookieParser = require ( "cookie-parser" ); const app = express (); const PORT = 5000 ; // 서버 동작을 확인하기 위한 파트 app . get ( '/' , ( req , res ) => { res . status ( 200 ); res . send ( "<h1>Working Well</h1>" ) }) app . listen ( PORT , () => console . log ( `Server at ${ PORT } ` )); 위 코드와 같이 작성하고 테스트를 합니다.  위 2개 사진과 같이 서버도 정상 동작 되고 root url의 get 요청도 정상적으로 되었습니다. const express = require ( "express" ); const session = require ( "express-session" ); const cookieParser = require ( "cookie-pars...

Session authentication(세션 인증)

이미지
 안녕하세요. 이번에는 세션에 대해서 알아보도록 하겠습니다. 세션은 유저가 로그인을 한 후 서버에서 클라이언트 쪽으로 응답 및 Session token(세션 토큰)을 전달해 주는 것입니다.  사진1) 유저가 로그인 할  0번 : 처음 유저가 로그인을 진행할때 ID, Password를 클라이언트에 입력합니다.   1번 : 이후 로그인 정보를 클라이언트가 서버쪽으로 전달  2번 : 서버에서 DB쪽과 조회해서 실제 존재하고 비밀번호가 맞는지 확인합니다.   3번 : DB에서 로그인 정보가 맞다는 것을 인증.  4번 : Session토큰을 생성하고 이를 클라이언트에 응답으로 전달 또 DB에도 저장을 합니다.  5번 : 생성한 Session토큰을 DB에 저장 사진1에서 Session토큰은 사용자의 정보를 바탕으로 만들어 집니다.(비밀번호는 제외) 해당 토큰은 각각 클라이언트와 DB에 저장이 됩니다. 해당 토큰이 중간에 해킹당할것을 대비하는 차원에서 사용할수있는 제한시간을 둘수 있습니다. 사진2) 로그인 이후 Data요청  0번 : 유저가 정보를 요청하기 위해 클라이언트에 입력합니다.   1번 : 이후 클라이언트가 Session토큰 정보와 함께 서버쪽으로 요청을 합니다.  2번 :서버에서 토큰을 분석후 DB에 조회를 합니다.  3번 : DB에서 해당유저 정보가 맞다는 것을 인증.  4번 : 요청 자료를 DB에서 조회합니다.  5번 : 요청 자료를 클라이언트로 응답합니다.  이제 클라이언트는 토큰을 이용하여 서버에 자유롭게 요청을 보낼수 있습니다.  JavaScript코드를 짜고 싶으시면 해당 링크 를 참고해 주시기 바랍니다.