Пишем gRPC сервис на Go - Сервис авторизации / УЛЬТИМАТИВНЫЙ гайд
Пишем полноценный gRPC сервис с современной архитектурой. Также:
- Напишем контракт protobuf, разберемся с кодогенерацией
- Научимся работать с ошибками и логами
- Настроим миграции для БД
- Настроим автоматический деплой через GitHub Actions, напишем для этого workflow
- и др.
Исходный код проекта (версия кода с зафиксированной версией на момент выхода гайда):
Текстовая версия в виде инструкции:
Полная текстовая версия гайда:
Облачный сервер для для gRPC-сервиса:
--------
Другие мои ролики, дополняющие текущий:
REST API - URL Shortener:
Интерфейсы по месту использования:
Моки и их генерация:
Использование SQLite в Go:
----
👾 - мой канал в Telegram.
Пишу в нём много интересного: гайды, которых нет на YouTube, интересные мысли про разработку, новости и анонсы всех моих активностей и др.
👀 GoLang Digest: - мои регулярные подборки интересных материалов по Go.
🗣️ Наше сообщество GopherClub: zsSZ63wEJDs3NGVi
Лучшее русскоязычное Go-сообщество с очень приятной атмосферой, без токсиков. Вежливо и терпеливо помогаем новичкам, конструктивно дискутируем с профессионалами и т.п.
Здесь также присутствуют все звезды Go-сообщества и представители интересных компаний 😄
❤️ Если у вас есть желание поддержать развитие канала:
Секретный телеграм-канал:
- В рублях: 1UPXV_DGnG1mODJi
- В евро: hedI8LevYTc5MDM6
Boosty:
Patreon:
----
Тайм-коды:
00:00 Вступление
01:00 Мой Телеграм-канал, зачем на него подписываться
02:04 Теоретический ликбез
06:49 SSO или Auth?
07:58 Авторизация и аутентификация - в чем разница?
08:31 Архитектура авторизации в нашем сервисе
09:51 Что такое JWT и зачем он нужен?
14:01 Архитектура приложения
16:33 Protobuf контракт
31:24 Пишем SSO: каркас и структура проекта
38:03 Конфигурация приложения
52:32 Настраиваем логгер -
01:03:56 gRPC-сервер и хэндлеры
01:18:48 Запуск и проверка приложения
01:22:04 Graceful shutdown
01:27:08 Хэндлер Login()
01:34:28 Хэндлер Register()
01:36:01 Хэндлер IsAdmin()
01:36:53 Сервисный слой
01:46:27 Метод RegisterNewUser() и хэширование паролей
01:52:05 Метод Login() и сравнение хэшей паролей
01:58:00 Создание JWT-токена
02:04:45 Миграции базы данных
02:23:05 Слой работы с данными: реализация Storage
02:32:09 Собираем все компоненты воедино
02:37:11 Пишем функциональные тесты
03:05:22 Интеграция с другим сервисом: URL Shortener
03:15:05 Покупка облачного сервера для деплоя
03:19:16 GitHub Actions: настраиваем автоматический деплой
03:36:53 Тестируем задеплоенный сервис
03:41:23 Заключение
03:41:35 Наше сообщество - Gopher Club
03:43:16 Как поддержать развитие канала
#golang #ntuzov
1 view
305
116
1 month ago 00:32:55 1
Идем по приборам вместе с gRPC / Михаил Кабищев (Ozon)
1 month ago 01:25:22 1
Декомпозиция монолита на GRPC-микросервисы / Александр Коржиков (ING), Andrew Reddikh (Emma)
1 month ago 00:36:03 1
gRPC для мобильных приложений и не только / Андрей Минкин (Mad Devs)
4 months ago 00:43:55 2
Golang by Rebrain: Сущности gRPC клиента и сервера в Go
5 months ago 01:02:29 1
РЕАЛЬНОЕ СОБЕСЕДОВАНИЕ НА BACKEND РАЗРАБОТЧИКА ПОЛУЧИЛ ЗП 280К ЗАВАЛИВ ПОЛОВИНУ ТЕХНИЧЕСКИХ ВОПРОСОВ
8 months ago 03:44:52 1
Пишем gRPC сервис на Go - Сервис авторизации / УЛЬТИМАТИВНЫЙ гайд
1 year ago 01:12:26 3
gRPC — альтернатива REST API от Google. Пишем gRPC сервер и клиент на Java и Python.
1 year ago 00:42:51 1
Соединяя микросервисы: gRPC и стриминг в современных JavaScript-приложениях / Михаил Вовренчук