2016-03-11 6 views
1

Можно ли обменять токен доступа OAuth2 (или OpenID Connect id_token) на токен WS- * SAML?Обмен токеном доступа OAuth2 (или OpenID Connect id_token) для токена WS- * SAML?

Вот наш конкретный сценарий, который мы хотели бы достичь:

  1. Пользователь был идентифицирован с помощью конечной OpenID Connect и выдал id_token.
  2. Тот же пользователь авторизовался с использованием конечной точки OAuth 2 и выпустил токен доступа.
  3. Одностраничное приложение (SPA) запрашивает данные из защищенного веб-API ASP.NET и отправляет идентификатор id_token и токена доступа.
  4. Вот вопрос/сложная часть: Мы хотели бы, чтобы веб-API ASP.NET извлекал данные из службы WCF, которая была защищена с помощью WS- *, поэтому для службы WCF требуется подписанный токен SAML.

Возможно ли обменять OpenID Connect id_token и/или токен доступа OAuth 2 на токен SAML, который соответствует спецификациям WS- *?

Мы хотели бы использовать ADFS на Windows Server 2016, но мы также открыты для других защищенных услуг лексем (STS), такие как Azure ADFS и т.д.

ответ

0

кажется, что вы могли бы реализовать маркер доступа обмена на вашем сервере OAuth, поскольку в спецификации нет ничего строго запрещающего.

В OAuth не указаны какие-либо явные спецификации того, для какой формы используется токен доступа или обновленные токены. Таким образом, вы можете использовать WS- * или что-то подходящее для вашего клиента/RP.

Вы можете использовать любой из этих типов лексем:

  • токенов WS-Security, особенно SAML токены

  • JWT лексемы

  • Пользовательские жетоны

Сам id_tokenMUST be a JWT, однако.