Как реализовать аутентификацию Auth0 в ServiceStack?

Моя установка состоит из 3 компонентов:

Auth0, где я добавляю пользователей и управляю их разрешениями.
Моя интерфейсная SPA-страница, которая служит оболочкой для моего API.
Мой API, созданный с помощью ServiceStack.

Вот поток аутентификации, как я себе это представляю:

Пользователь нажимает "войти в систему с помощью Auth0" в клиентском приложении.
Затем пользователь перенаправляется на Auth0, где он входит в систему и получает JWT.
Этот JWT хранится на клиенте и добавляется в каждый запрос к моему API.
Мой API (ServiceStack) проверяет JWT, проверяя, соответствует ли он сертификату, выданному мне Auth0.
Мой API (ServiceStack) проверяет, есть ли у пользователя необходимые разрешения, которые управляются Auth0 и включены в JWT.

В идеале это должно быть так же просто, как добавить теги [Authorize] и [RequiredPermission] к сервисам, чтобы настроить, какие разрешения требуются для доступа к каким сервисам.

Я пытался достичь этого разными способами, но начинаю думать, что весь мой подход несовершенен, поэтому трудно добавить какие-либо фрагменты кода, чтобы проиллюстрировать проблему. Я неправильно понимаю что-то принципиально или это можно настроить в ServiceStack? Я могу получить и проверить правильность JWT из Auth0 с помощью http://jwt.io/, проблема заключается в интеграции этой проверки в ServiceStack.

1 ответ

Auto0 опубликовал ряд документов и статей по интеграции с ServiceStack:

Для интеграции с JWT я нашел собственного провайдера OAuth0 по адресу:

Или посмотрите этот ответ по интеграции с OAuth-провайдером Auth0.

Другие вопросы по тегам