Windows Server 2016 AD FS 4.0 для проверки подлинности внешнего веб-приложения с помощью OAUTH JWT и Shared Secret

Мы пытаемся заставить продукт SaaS проходить аутентификацию на наших службах AD FS 4.0, работающих на Windows Server 2016.

Веб-приложение настроено для единого входа с использованием JWT и позволяет нам настраивать общий секретный ключ, URL-адрес входа в систему и URL- адрес выхода из системы

Я получил приложение для перенаправления на экран входа в AD FS https: // имя_хоста / adfs / oauth2 / авторизация и аутентификация в активном каталоге. Оттуда он возвращает кодовое значение, которое, как я знаю, нужно перейти по https://hostname//adfs/oauth/token, но здесь я застрял.

Нужно ли создавать веб-службу, которая получает код от конечной точки авторизации, отправляет его в конечную точку токена и затем перенаправляет обратно в веб-приложение с помощью JWT? Или AD FS может сделать это самостоятельно, если я правильно настрою?

Я хочу, чтобы веб-приложение перенаправляло на экран входа в систему AD FS (выполнено), AD FS для аутентификации в AD (выполнено), а затем (сделало магию) и перенаправило обратно в веб-приложение с помощью JWT.

РЕДАКТИРОВАТЬ:

Вот что я хочу с Server 2016 AD FS 4.0. Нужно ли мне создавать собственную службу ADFS/AUTHORIZE->code->ADFS/TOKEN->jwt->Application URL?

https://support.zendesk.com/hc/en-us/articles/203663816-Setting-up-single-sign-on-with-JWT-JSON-Web-Token-

ОБНОВИТЬ:

Похоже, вы должны контролировать клиентское приложение, что не относится к случаям, когда вы используете сторонний SaaS. Поэтому нам нужно реализовать myapi такой, чтобы.

  1. SaaS перенаправляет на / adfs / oauth2 / authorize
  2. AD FS перенаправляет на /myapi/?code=ab2..3cf
  3. Myapi сообщения code to /adfs/oauth2/token
  4. Ответ AD FS содержит JWT
  5. myapi перенаправляет в SaaS с /?jwt= токеном

1 ответ

Решение

Этот поток называется предоставлением кода авторизации.

Хорошая схема здесь.

Получите код, отправьте его в конечную точку /token, получите токен доступа, отправьте его в API в заголовке авторизации.

Если продукт SaaS имеет стек OpenID Connect, он должен сделать это автоматически. Продукт SaaS должен управлять потоком.

Обновить:

Единственное, что вам нужно сделать с ADFS, это настроить его. Программирование не требуется.

Вам нужно кодировать на стороне клиента.

Клиент отправляет / авторизует конечную точку.

ADFS отвечает кодом.

Клиент отправляет код на / токен конечной точки.

ADFS отвечает токеном.

Клиент отправляет токен в API.

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