dotNetOpenAuth примеры проблема получения правильного контекста безопасности
Я просматриваю образцыdotNetOpenAuth (OpenIdRelyingPartyMVC и OpenIdProviderMvc) и подхожу к вопросу для лучшего понимания...
В MembersArea приложения проверяющей стороны я использую OpenID "http://localhost:4864/user/bob3 " например. Меня перенаправляют на страницу входа провайдеров, где я использую учетные данные Боба5 а потом... После успешного входа в систему, я перенаправлен обратно на RelyingParty, который говорит: "Поздравляю Боб3...".
Это просто ошибка привязки в приложении проверяющей стороны, которое принимает OpenID, который был отправлен поставщику, или я аутентифицируюсь в контексте безопасности Bob3 с учетными данными Bob5, что, по моему мнению, было бы серьезной проблемой безопасности, поскольку я могу аутентифицироваться как кто угодно, только с одной рабочей учетной записью пользователя у поставщика.
1 ответ:
Я думаю, что вы используете устаревшую ветку, которая содержит проблему безопасности, обнаруженную 3 года назад:
Код неисправного контроллера: https://github.com/DotNetOpenAuth/DotNetOpenAuth.Samples/blob/master/src/OpenID/OpenIdProviderMvc/Controllers/OpenIdController.cs
Исправлено код: https://github.com/DotNetOpenAuth/DotNetOpenAuth/blob/develop/samples/OpenIdProviderMvc/Controllers/OpenIdController.cs
Разница в исправлении: https://github.com/DotNetOpenAuth/DotNetOpenAuth/commit/cdd3e95f4eac8076ffd78641bf4cf61d4422572a
Мне кажется, что ветвь " master "устарела, в то время как ветвь" Development " - это та, которую мы должны использовать.