Назад | Перейти на главную страницу

Поддержка токенов обновления в потоке OAuth ADFS 2.2

Мы с коллегой пытаемся включить OAuth в ADFS 2.2. Все работает, за исключением того, что сервер возвращает только токен доступа (с истечением срока действия) и не включает токен обновления после успешного входа в систему. По этому поводу очень мало документации, но кто-нибудь знает, какие настройки нужно обновить, чтобы возвращать токены обновления?

Редактировать: В предлагаемая спецификация OAuth 2.0 состояния:

Выпуск токена обновления не является обязательным по усмотрению сервера авторизации. Если сервер авторизации выдает токен обновления, он включается при выдаче токена доступа

Поскольку я получаю токен доступа, но не обновляю токен, и поскольку ADFS в настоящее время реализует только поток кода OAuth, я предполагаю, что команда ADFS решила не возвращать токены обновления. Я хотел бы услышать это окончательно.

Редактировать: Как сказал Трэвис ниже, убедитесь,

В объекте проверяющей стороны ADFS есть переключатель конфигурации с именем IssueOAuthRefreshTokensTo, который определяет, на какой тип устройств отправляются маркеры обновления. По умолчанию это значение установлено на «NoDevice», что означает, что ADFS не будет выпускать токены обновления. Возможные значения:

  1. NoDevice = никогда не выдавать токены обновления
  2. AllDevices = всегда выпускать токены обновления
  3. WorkplaceJoinedDevices = выпускать токены обновления только на устройствах, подключенных к рабочему месту, то есть на тех, которые были зарегистрированы с помощью службы DRS.

Помимо проверки, разрешает ли проверяющая сторона выпуск токенов обновления, ADFS также проверяет следующее.

  1. Токен SSO, представленный ADFS, не истечет до истечения срока действия токена доступа к RP. Пока вы не изменили значения конфигурации по умолчанию и вошли с чистым сеансом браузера (то есть без cookie SSO), этот случай не должен вступать в игру.
  2. Проверяющая сторона не помечена, чтобы всегда требовать свежие учетные данные.

Можете ли вы также убедиться, что вы отправляете допустимый параметр ресурса в запросе авторизации?

В ADFS есть журнал отладки. Если вы можете воспроизвести это поведение в непроизводственной системе, самым простым способом определения проблемы может быть включение журналов отладки.

В этой статье рассказывается, как включить журналы отладки в системе ADFS 2.0. ADFS 3.0 (2012 R2) аналогичен, имена узлов немного отличаются, и вам не нужно включать трассировку WIF или WCF в файле конфигурации.

http://social.technet.microsoft.com/wiki/contents/articles/1407.how-to-enable-debug-logging-for-active-directory-federation-services-2-0-ad-fs-2- 0.aspx