У меня есть несколько вопросов.
Поток кода авторизации и одноразовый номер
Нужно ли мне проверять одноразовый номер на стороне клиента при использовании потока кода авторизации? В общей реализации поставщика OAuth процесс получения токена доступа из кода авторизации работает только один раз. Из этого кажется, что поток кода авторизации уже поддерживает атаку воспроизведения без использования nonce?
Поток кода авторизации и идентификационный токен
Каковы преимущества использования потока кода авторизации в веб-приложениях? Идентификационный токен - это механизм аутентификации, а не авторизации. Я понимаю, что он используется для проверки того, какой провайдер OpenID аутентифицирует, какого пользователя для какой ретрансляционной стороны.
Но в потоке кода авторизации
- OAuth 2.0 требует использования HTTPS. Таким образом, если проверка сертификата SSL реализована правильно, это будет действительное доказательство поставщика OpenID.
- В общей реализации поставщика OAuth при получении токена доступа из кода авторизации комбинация кода авторизации, идентификатора клиента и секрета проверяется ниже. Из этого он докажет, что выполняется процесс получения токена доступа от правильного клиента OAuth.
- Указав параметр состояния для создания запроса авторизации и проверив его при получении токена доступа, он докажет, что получает токен доступа от правильного пользователя.