개발 작업시에 사용한 검색어, 내용을 간단하게 정리하고, 다양한 인터넷 정보, 팁, 저장하고 싶은 소스등을 대충 정리해 두는 개인 블로그 입니다. 힌트나 도움이 되는 글이 조금이라도 있기를 바라며 🙂

Django – AWS Cognito 연동 예제 글 (초안)

Written in

by

Django – AWS Cognito 연동 예제 만들어 보기 – 초안

안녕하세요. 오늘은 장고(Django) 웹 프레임워크와 AWS Cognito 서비스를 연동하는 예제를 소개하겠습니다. Cognito는 AWS에서 제공하는 사용자 인증 및 권한 관리 서비스입니다. 장고에서 Cognito를 사용하면, 사용자가 손쉽게 회원가입, 로그인, 비밀번호 변경 등의 기능을 이용할 수 있습니다. 또한, Cognito는 다양한 소셜 로그인을 지원하므로, 페이스북, 구글, 카카오 등의 계정으로도 로그인할 수 있습니다.

이번 예제에서는 장고 프로젝트를 생성하고, Cognito 사용자 풀(User Pool)을 생성하고 설정하는 방법을 알아보겠습니다. 그리고, django-cognito-jwt 라이브러리를 이용하여 장고와 Cognito를 연동하는 방법을 설명하겠습니다. 마지막으로, 장고의 admin 페이지에 로그인하는 방법과 장고의 views.py에서 Cognito 사용자 정보에 접근하는 방법을 보여드리겠습니다.

이 글은 장고와 AWS에 대한 기본적인 지식이 있는 분들을 대상으로 합니다. 장고와 AWS에 익숙하지 않으신 분들은 다른 자료를 참고하시기 바랍니다.

장고 프로젝트 생성하기

먼저, 장고 프로젝트를 생성해야 합니다. 새로운 폴더를 만들고, 가상 환경을 활성화한 후, pip 명령어로 장고와 django-cognito-jwt 라이브러리를 설치합니다.

$ mkdir django-cognito-example
$ cd django-cognito-example
$ python -m venv venv
$ source venv/bin/activate
(venv) $ pip install django django-cognito-jwt

다음으로, django-admin 명령어로 새로운 프로젝트와 앱을 생성합니다.

(venv) $ django-admin startproject config .
(venv) $ python manage.py startapp accounts

이제, config/settings.py 파일을 열고, INSTALLED_APPS에 accounts 앱을 추가합니다.

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'accounts', # 추가
]

그리고, config/urls.py 파일을 열고, accounts 앱의 urls.py 파일을 포함시킵니다.

from django.contrib import admin
from django.urls import path, include # 추가

urlpatterns = [
path('admin/', admin.site.urls),
path('accounts/', include('accounts.urls')), # 추가
]

마지막으로, accounts/urls.py 파일을 생성하고, 다음과 같이 작성합니다.

from django.urls import path
from . import views

urlpatterns = [
path('login/', views.login_view, name='login'),
path('logout/', views.logout_view, name='logout'),
]

여기까지 장고 프로젝트의 기본적인 구조를 만들었습니다. 다음으로, Cognito 사용자 풀을 생성하고 설정하는 방법을 알아보겠습니다.

Tags


최근 블로그 글…

  • ORM 중복 제거 – distinct

    https://django-orm-cookbook-ko.readthedocs.io/en/latest/duplicate.html 여기 링크 글이 좋음 – https://unocoings.tistory.com/12

  • Django – AWS Cognito 연동 예제 글 (초안)

    Django – AWS Cognito 연동 예제 만들어 보기 – 초안 안녕하세요. 오늘은 장고(Django) 웹 프레임워크와 AWS Cognito 서비스를 연동하는 예제를 소개하겠습니다. Cognito는 AWS에서 제공하는 사용자 인증 및 권한 관리 서비스입니다.…

  • 발표자료 준비 팁

    머리 아픈 발표자료, 아래 링크 글을 참고해서 준비해보세요. 04화 발표 자료 준비하는 게 어렵다고? 자, 따라 해 봐 (brunch.co.kr) 이 글은 발표 자료를 준비하는 방법에 대한 팁을 제공하는 글입니다. 저자는…

  • Django Ninja 개발 블로그 추천

    Django ninja 사용자가 별로 없어 보이는데, 꼭 링크를 저장해두고 보자! 잘 정리해둔 사이트 https://yubi5050.tistory.com/category/Python%20%28with.%20Code%29/Django-ninja [Django Ninja] Validation 구현 방법 (with. Pydantic) [Django Ninja] 설계 패턴 정하기 (feat. 리팩토링) [Django Ninja]…

  • Django – HttpResponse() 예제

    간단한 결과 확인을 위한 HttpResponse 예제를 하나 정리해둔다. 공식 사이트는 여기 => https://docs.djangoproject.com/en/4.2/ref/request-response/#httpresponse-objects

  • Xilinx JTAG – HS2, HS3, Platform Cable USB II

    JTAG HS2 가 호환성이 더 좋은듯 https://digilent.com/reference/programmers/jtag-hs2/reference-manual?_ga=2.209894997.1913691520.1700123539-2102363698.1698815413#supported_target_devices Is JTAG-HS2 is compatible with Artix 7 series FPGA? Digilent Forumhttps://forum.digilent.com › … › FPGA Nov 9, 2022 — Is JTAG-HS2 is compatible with Artix 7 series FPGA? 1 answer·0…

aws Blog css database develop Django embedded file FPGA frontend html javascript jquery KiCad ModelForm Nextion ninja none ORM postgresql python Queryset redirect replace sql STM32 stm32f407 template TTA uart updateview Wordpress Xilinx 날짜 데이터베이스 딕셔너리 리스트 배열 시험 예제 인증 전역변수 조건 파이썬 한글