48

IdentityServer поддерживает различные потоки OpenId Connect, определенные в перечислении Flows и настроенные для клиентов. Также есть образцы для каждого типа потока и много ссылок на них в документах, но я не смог найти простой список определений того, какие потоки находятся в documentation, как если бы они были слишком очевидны для объяснения словами. Но я думаю, что это не так. Не могли бы вы рассказать подробнее о различиях в них, может быть, мы можем добавить это в документы?Потоки IdentityServer

Так что же: неявные потока, владелец ресурса пароль учетных потока, код авторизации потока, учетных данных клиента потока, пользовательских грант потока и гибрид потока? Кроме того, какие из них являются потоками OAuth и какие из них являются потоками OpenID Connect?

Спасибо!

ответ

8

увидеть спецификации - это было все записано уже:

http://openid.net/specs/openid-connect-core-1_0.html и http://tools.ietf.org/html/rfc6749

в дополнение я недавно написал резюме, которое разбивает его вниз для различных типов приложений:

http://leastprivilege.com/2016/01/17/which-openid-connectoauth-2-o-flow-is-the-right-one/

+1

Я знаю, но я искал короткое описание. Я нашел [это] (http://leastprivilege.com/2014/10/10/openid-connect-hybrid-flow-and-identityserver-v3/) описание в вашем блоге очень полезно. – orad

+1

Я также считаю, что это самая большая проблема с Identity Server в том, что существует ограниченная основная информация о продукте. Через месяц или около того в рамках внедрения чрезвычайно подробные документы окажутся полезными, но кривая обучения не крутая, а вертикальная. – Dillorscroft

+1

Я действительно узнал больше о Identity Server через документы по внедрению Auth0.com, а затем вернулся к Identity Server. – Dillorscroft

18

С leastPrivilage по первой ссылке: и Aharon Paretzki's OAuth 2 Simplified

Потоки решают, как ID маркера (то есть код авторизации) и Токен доступа (т. «Маркер») возвращаются к клиенту:

Авторизация кода потока: поток OAuth 2.0, в котором

  • код авторизации возвращается из авторизации Endpoint
  • и всех маркеров (как второй этап, в обмен на код авторизации) возвращаются с конечной точки Token
  • Используется для вызовов на основе сервера (API), которые могут поддерживать конфиденциальность секретности своих клиентов. Позволяет повысить безопасность, если никто не может получить доступ к «секретному клиенту».

Неявный расход: OAuth 2.0 поток, в котором

  • все маркеры возвращаются непосредственно из авторизации Endpoint
  • и ни маркеров, ни конечной точки кода авторизации используются.
  • Используется для мобильных и веб-приложений, которые не могут поддерживать конфиденциальность секретности клиента, поэтому необходимо иметь токен, выданный самим сервером auth. Это менее безопасно, и рекомендуется, чтобы сервер был настроен на запрет неявный поток требует использования API и разрешает его только для приложений на основе браузера и мобильных приложений.

Hybrid Flow: поток OAuth 2.0, в котором

  • код авторизации возвращается из авторизации Endpoint,
  • некоторые лексемы возвращаются непосредственно из авторизации Endpoint, а другие возвращаются (как второй этап, в обмен на код авторизации) с конечной точки токена.
  • Используется там, где требуются оба потока.