예전에 진행했던 프로젝트 중에, Linux 환경에서 Apache를 통해 서버 구축을 했었다. 이때는 서버에 대해 문외한이었고, 당장 웹 프레임워크를 접한지 몇 개월 되지 않았기 때문에 수많은 삽질을 통해 간신히 배포했던 기억이 있다.

지금 돌이켜보면 그때 도커를 공부했었다면 그렇게 고생을 하지 않았을 지도 모른다는 생각이 든다..

그래서 이번엔 마저 하지못한 도커 환경에서의 구축을 해보자는 생각이 들어 진행하게 되었다. 물론 이번에도 며칠간의 삽질(static file 설정, M1 mysql 설정)이 있었기 때문에, 나처럼 고생할 다른 사람들에게 도움이 되고자 공유해보자 한다.

이 글은 도커를 설치했고, 장고 프로젝트를 가지고 …


Sequel Ace from App Store

When handling datas, using database tool is pretty helpful than accessing it directly via terminal. There are a lot of famous tools such as DBeaver, MySQL Workbench, Sequel Pro, etc. But i found they almost didn’t work on M1 Mac Because It’s been only half year M1 processor came out the world.

I installed 3 tools i said before. DBeaver and MySQL Workbench didn’t work perfectly, Sequel Pro worked first but it occurred Force Quit few minutes later.

So I tried to find which one is working on M1. While searching on google, I found out there’s someone getting same…


저번 포스트에서는 dj_rest_auth와 simplejwt를 사용해서 회원가입, 로그인 동작을 구현해 보고, 직접 간단한 API를 작성해 접근 시에 토큰의 사용 유무를 확인해 보았다.

앞서 작성했듯이 refresh token의 유효기간 내에서 access token의 재발급은 제한이 없기 때문에, 보안적인 이슈가 필연적으로 발생할 수 밖에 없다. 한번 발급된 토큰은 임의로 삭제할 수 없기 때문에 refresh token이 중간에 탈취되기라도 한다면 개인정보 문제가 된다.

이러한 방법을 방지하고자 나온 방법이 Blacklist 기법이다. 보통 악영향을 미치는 사람 또는 기업을 대상으로 리스트화 해놓는 것을 칭하는 단어지만, 여 …


Thank you so much. I didn't know how to use blacklist well. This post helped a lot!


저번 포스트에서 DRF로 JWT 인증을 위한 기본적인 세팅을 완료했다. 이제 직접 회원가입과 로그인을 진행해보자.

이번 포스트의 핵심 패키지는 dj-rest-auth다. 이 패키지는 크게 회원가입, 로그인, 소셜 로그인 기능을 제공해준다. 부가적으로 비밀번호 찾기, 리셋, 회원가입 시 이메일 인증 등 유저 관련 기능들을 거의 커버가 가능하기 때문에 장고로 개발 시에 알아두면 좋은 패키지다.

회원가입, 로그인

documentation을 들어가면 API Endpoints 메뉴에서 Registration을 볼 수 있다.

username은 비활성화 시켰으므로 빈칸 또는 지워도 된다.

회원가입을 완료하면 access token과 refresh token, 그리고 user의 pk, email을 반환해준다.(first …


앞서 포스팅했던 소셜 로그인 구현에서 생각보다 많은 개발자 분들이 봐주신 덕분에 상위노출도 되어 기뻤지만, 이전 코드를 다시 보니 많이 부족하단 생각이 들었다. 특히 JWT 부분에서 이해력이 부족해 제대로 활용하지 못한 부분이 제일 아쉬웠다.

그래서 이번 포스팅을 작성하면서 DRF 환경에서 어떻게 JWT를 적용해서 인증을 하는지, 어떠한 패키지들을 사용하는지 최근에 공부한 내용들을 정리하고 최종적으로 소셜 로그인에 적용할 수 있도록 하는 것이 목표이다.

DRF에서의 인증 (Built-in Token, JWT)

간단하게 짚고 넘어가자면 DRF에서 사용하는 인증 방법은 크게 세가지로, Session, Token, JWT이다. 각각 모두 장단점이 있는데, 스택오버플로우에 마침 이 …


Django로 개발 중에 직접 테이블을 옮기는 작업을 해야 할 일이 생겨서 DB를 관리할 수 있는 프로그램들을 급하게 찾기 시작했다.

본래는 터미널에서 접속 후에 간단한 쿼리문들을 사용해 테이블 content들을 확인하는 정도로만 사용했기 때문에, 어떤 툴이 좋은지는 몰라서 처음에는 Mysql Workbench를 사용하기 위해 다운받았다. 하지만 최근에 바꾼 MacBook Pro에 내장되어 있는 M1 칩은 지원을 하지 않는다고 한다.

그래서 다른 유명한 툴들을 찾아보았는데, 대표적으로 dbeaver, sequal pro 등을 직접 설치해서 사용해 보았다. 하지만 dbeaver은 중간에 아예 셧다운해서 강제로 재부팅하는 경우가 …


Edit. 5월 1일

부족한 개념과 수정해야 할 부분을 리팩토링하는 중입니다. 이전 포스트에서 확인해 주세요.

이번에는 Kakao, Github 소셜 로그인 실습을 해볼 예정이다. 초기 세팅과 Google 로그인은 이전 포스트에 있다.

KaKao

카카오는 여기에서 키를 발급받을 수 있다. 로그인을 진행하고 상단 위에 내 어플리케이션에 들어가서, 애플리케이션을 추가한다. 그리고 들어가보면, 다양한 키들이 있는데, 우리는 그 중에 REST API 키를 사용한다.

REST API 키를 secrets.json에 입력 및 admin 사이트에서 Social Application에 등록해준다.

그리고 왼쪽 메뉴바에 카카오 로그인에 들어가서, redirect uri를 설정해준다.


Edit. 4월 30일

글을 수정하기 전 사용했던 django-rest-auth중단된 프로젝트이고, dj-rest-auth에서 fork가 진행되고 있다. 따라서 dj-rest-auth를 대신 사용하고 JWT 기반 인증으로 진행될 것이다. 글의 이해를 위해 JWT Authentication의 흐름을 숙지하고 진행하거나, 아래 필자가 작성한 튜토리얼을 보고 진행하면 좋을 것이다. (튜토리얼과 초기 환경 세팅은 같다.)

SPA(react.js)를 DRF(Django-Rest-Framework)와 연동하여 진행하는 프로젝트의 일환으로 소셜 로그인을 구현해 보았다.

django-allauth 패키지에서 Template Tags를 사용하여 구현하는 글은 …

Chanjong Park

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store