Udemy [Udemy] JWT Аутентификация с Elixir и Phoenix (2022)

  • Автор темы Trinity
  • Дата начала
[Udemy] JWT Аутентификация с Elixir и Phoenix (2022)

1657287600235


Внедрите аутентификацию на основе JWT в Elixir, язык, который так или иначе поддерживает (ErLang) Whatsapp, Discord, Pinterest и т. д. Мы будем использовать Phoenix Framework, фантастический фреймворк MVC для разработки бэкендов и проектов с полным стеком в Elixir. Считайте, что Phoenix больше похож на Express от Node.js, но, круче. Elixir в целом круче, чем любой другой язык, на котором я пишу код, но тем не менее, всего по немного.

Архитектура

1. Пользователи


Зарегистрировать пользователя
  • Примите данные пользователя, такие как «электронная почта», «пароль», «имя пользователя» и т. д., и сохраните их в базе данных (PostgreSQL).
2. Хэширование пароля
  • Хранение необратимого одностороннего хешированного пароля в базе данных, вместо хранения просто текста, что было бы катастрофой.
3. Авторизация
  • Sign in на основе «логина» и «пароля». Подтвердите пароль с помощью хэша пароля, хранящегося в базе данных, и, если все совпадает, выдайте токен JWT для дальнейшего взаимодействия с API (защищенные маршруты).
4. Получение авторизованного пользователя
  • Верните аутентифицированного пользователя по токену, указанному в заголовке авторизации.
5. Выход
  • Аннулирование токена JWT путем его сохранения в соответствии с «user_id» в базе данных. Так что после выхода из системы с определенным токеном этот токен нельзя будет снова использовать для доступа к приватным маршрутам. Мы сделали это, поскольку токены JWT нельзя уничтожить, срок их действия может истечь только тогда, когда придет время. Так что же происходит, когда кто-то выходит из системы до истечения срока действия его токена? Кислород для размышлений.
2. Защищенные маршруты

Реализуйте частные маршруты для ведения списка контроля доступа => к чему можно получить доступ, а к чему нет. Например, не прошедший проверку подлинности пользователь (гость) не должен иметь доступа к следующему API.
  1. Выход
  2. Ping (пример запроса ping-pong Get для демонстрации механизма частного маршрута).
  3. И тому подобное...
3. Postman
  • Попутно тестируйте REST API с Postman, разрабатывая каждый маршрут/API.
4. Многое другое
  • Мы узнаем гораздо больше, чем написано, об Elixir, Phoenix, PostgreSQL и создании REST API в целом.
Материал на английском языке

Подробнее:
Скачать:
 

Похожие темы

Trinity
Ответы
0
Просмотры
276
Udemy.com
Trinity
Trinity
Trinity
Ответы
0
Просмотры
313
Udemy.com
Trinity
Trinity
Trinity
Ответы
0
Просмотры
317
Udemy.com
Trinity
Trinity
Trinity
Ответы
0
Просмотры
248
Udemy.com
Trinity
Trinity
Trinity
Ответы
0
Просмотры
501
Udemy.com
Trinity
Trinity
Trinity
Ответы
0
Просмотры
284
Trinity
Trinity
Ответы
0
Просмотры
352
Udemy.com
Trinity
Trinity