Skip to content

Учебный проектик для вебинара про авторизацию и аутентификацию, OAuth 2.0 и хранение секретов

dclimber/oauth-django-webinar-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Учебный проект для вебинара «Аутентификация, Авторизация, хранение секретов».

Описание

  1. В папке app_server находится «Клиент».
    • Для переменных окружения использует библиотеку decouple
  2. В папке auth_server находятся «сервер-ресурсов» и «сервер-авторизации»:
    1. Сервер ресурсов реализован приложением poems, представляет собой базу данных с со стихами Великих поэтов и поэтэсс.
      • API-ресурсов использует django-rest-framework, тема следующего спринта.
      • Для вьюх моделей используется ModelViewSet
    2. Сервер авторизации реализован на библиотеке Django OAuth Toolkit
    3. Для переменных окружения использует библиотеку django-environ

Инструкция по настройке/установке

  1. Создайте виртуальное окружение, назовите папку env

  2. Установите зависимости из requirements.txt

  3. Заполните файлы переменных окружения .env в обоих проектах. Для этого:

    1. Создайте файл .env рядом с файлом .env.template;
    2. Скопируйте содержимое файла .env.template в файл .env;
    3. Заполните значения в файлах.
    4. В app_server значения:
      1. OAUTH_SERVER_URL должно быть http://127.0.0.1:8001
      2. CLIENT_ID и CLIENT_SECRET мы заполним на вебинаре.
  4. Сделайте миграции в auth_server и app_server.

  5. Загрузите фикстуры в auth_server:

    1. Для загрузки поэтов в базу следует прогнать команду:

      python manage.py loaddata fixtures/poets.json

    2. Для загрузки стихов:

      python manage.py loaddata fixtures/poems.json

  6. Создайте «супер пользователя» на сервере ресурсов.

  7. Запустите сервер ресурсов и авторизации:

    python manage.py runserver 0.0.0.0:8001

  8. Откройте сервер-ресурсов в браузере.

  9. Запустите приложение-клиента:

    python manage.py runserver 0.0.0.0:8002

  10. Откройте приложение-клиента в браузере.

Создание приложения

  1. Перейдите по адресу: <url сервера авторизации>/o/applications/) и создайте приложение.
  2. В форме укажите:
    • Client type: Confidential
    • Authorization grant type: Authorization code
    • Name: тут, что хотите.
    • Redirect uris: http://127.0.0.1:8002/callback/
  3. Далее вам нужно в .env файле приложения app_server указать:
    1. CLIENT_ID
    2. CLIENT_SECRET

About

Учебный проектик для вебинара про авторизацию и аутентификацию, OAuth 2.0 и хранение секретов

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published