OpenID Connect и поток кода авторизации на стороне сервера

У меня есть несколько вопросов.

Поток кода авторизации и одноразовый номер

Нужно ли мне проверять одноразовый номер на стороне клиента при использовании потока кода авторизации? В общей реализации поставщика OAuth процесс получения токена доступа из кода авторизации работает только один раз. Из этого кажется, что поток кода авторизации уже поддерживает атаку воспроизведения без использования nonce?

Поток кода авторизации и идентификационный токен

Каковы преимущества использования потока кода авторизации в веб-приложениях? Идентификационный токен - это механизм аутентификации, а не авторизации. Я понимаю, что он используется для проверки того, какой провайдер OpenID аутентифицирует, какого пользователя для какой ретрансляционной стороны.

Но в потоке кода авторизации

  • OAuth 2.0 требует использования HTTPS. Таким образом, если проверка сертификата SSL реализована правильно, это будет действительное доказательство поставщика OpenID.
  • В общей реализации поставщика OAuth при получении токена доступа из кода авторизации комбинация кода авторизации, идентификатора клиента и секрета проверяется ниже. Из этого он докажет, что выполняется процесс получения токена доступа от правильного клиента OAuth.
  • Указав параметр состояния для создания запроса авторизации и проверив его при получении токена доступа, он докажет, что получает токен доступа от правильного пользователя.

person NSR    schedule 19.11.2016    source источник


Ответы (1)


Я не специалист по OpenID Connect, но вот мои два цента ...

Последовательность кода авторизации и одноразовый номер

Нужно ли мне проверять одноразовый номер на стороне клиента при использовании потока кода авторизации?

В спецификации сказано, что если вы отправляете одноразовый номер в запросе авторизации, вы ДОЛЖНЫ его проверить (см. Одноразовый номер в http://openid.net/specs/openid-connect-core-1_0.html#IDToken). Однако отправка одноразового номера не требуется для потока кода авторизации, поэтому вы можете вообще не указывать его. В случае с потоком кода авторизации, я думаю, вы правы в том, что атака воспроизведения смягчается кодом, что делает ненужным одноразовый номер. Однако, поскольку можно использовать неявный / гибридный поток, в котором требуется одноразовый номер, логика проверки id_token может быть такой же, поскольку если значение одноразового номера было отправлено в запросе аутентификации, ДОЛЖЕН присутствовать одноразовое утверждение и его значение проверил

Последовательность кода авторизации и идентификатор идентификатора

Каковы преимущества использования потока кода авторизации в веб-приложениях?

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

Вот полезный ссылка о выборе правильного потока для правильного сценария

person sdoxsee    schedule 19.11.2016