bmstu-rsoi / lab5-template

2 stars 4 forks source link

Лабораторная работа #5

GitHub Classroom Workflow

OAuth2 Authorization

Формулировка

На базе Лабораторной работы #4 реализовать OAuth2 token-based авторизацию.

Требования

  1. Для автоматических прогонов тестов в файле autograding.json и classroom.yml заменить <variant> на ваш вариант.
  2. Код хранить на Github, для сборки использовать Github Actions.
  3. Каждый сервис должен быть завернут в docker.
  4. В classroom.yml дописать шаги на сборку, прогон unit-тестов.

Пояснения

  1. В роли Identity Provider можно использовать любое решение, вот несколько рабочих вариантов:
    1. Okta
    2. Auth0
  2. Для получения metadata для OpenID Connect можно использовать Well-Known URI: https://[base-server-url]/.well-known/openid-configuration.
  3. Из Well-Known metadata можно получить Issuer URI и JWKs URI.
  4. Для реализации OAuth2 можно использовать сторонние библиотеки.

Прием задания

  1. При получении задания у вас создается fork этого репозитория для вашего пользователя.
  2. После того как все тесты успешно завершатся, в Github Classroom на Dashboard будет отмечено успешное выполнение тестов.

Варианты заданий

Распределение вариантов заданий аналогично ЛР #2.