Я добавляю в систему дополнительную аутентификацию OpenID. Все работает нормально с DotNETOpenID. Тем не менее, я получаю вопрос, когда:DotNetOpenId - Сбой при попытке воспроизведения с программными и веб-входами
- входа пользователя в вебе-приложение, используя стандартный логин (FormsAutentication)
- единомышленников пользователей некоторых OpenID с учетной записью (мы используем программный вход по OpenID здесь, чтобы получить заявленную идентичность)
- Пользователь выходит из формы FormsAuthentication и регистрируется снова с помощью OpenID (используя элемент управления Login).
На последнем шаге мы получаем ошибку атаки повтора. Я подозреваю, что OpenID сохраняет некоторую информацию в хранилище приложений (которая будет использоваться для запросов), которая используется для получения предыдущего запроса, вместо того, чтобы начинать новый.
Может ли кто-нибудь помочь пролить свет на проблему здесь?
Если проблема в том, как я ее понял, как я могу очистить эту конкретную информацию о состоянии после успешного связывания OpenID с учетной записью, используя программный логин (учитывая, что у меня есть успешный запрос под рукой)?
Прежде всего, на ваших этапах воспроизведения вы упомянули, что пользователь входит в систему с вашим программным логином, а затем вступает в систему с помощью элемента управления Login. Итак, эти две разные страницы входа, одна программная и одна с помощью элемента управления OpenIdLogin? Или это одна и та же программная страница входа в систему? Я не уверен, что это важно, но я просто хотел получить четкую картину в моей голове вашего сценария. –
Привет, Андрей, спасибо за библиотеку и за ответ! 1. URL абсолютно чистый, тестируемый провайдер - это Google. 2. Существует только одна страница входа в систему (которая использует аутентификацию входа/выхода или Open ID Logon). У проверенных пользователей есть доступ к странице ассоциации, где они могут связывать некоторые OpenID с текущей учетной записью. Это связывание происходит, выполняя программный запрос OpenID против его провайдера и сохраняя заявленный идентификатор Url в репозитории сохранения. Это имеет какое-то значение для вас? –
Опечатка: «против провайдера» –