Иметь приложение MVC, которое использует Azure Active Directory в качестве поставщика удостоверений.Чтобы защититься от повторных атак, я хотел выполнить одноразовую проверку в функции обратного вызова SecurityTokenValidateEvent в OpenIdConnectAuthenticationNotifications.
В обратном вызове приведен код, который у меня есть.
private async Task SecurityTokenValidateEvent(SecurityTokenValidatedNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> arg){
var nonceInClaims = arg.AuthenticationTicket.Identity.FindFirst("nonce").Value; //I get the value of nonce
var reqQueryString = arg.Request.QueryString.Value; //Want to fetch nonce from query string. Unfortunately this is always empty.
}
Есть ли способ, которым я могуполучить одноразовый номер, который был отправлен в начальном запросе авторизации.
Я ознакомился с выдержками из «Современной аутентификации с помощью Azure Active Directory для веб-приложений» и многими другими веб-ссылками (https://openid.net/specs/openid-connect-core-1_0.html). Везде, где говоритсячто проверка nonce в запросе и утверждениях является единственным способом защиты от атак повторного воспроизведения. К сожалению, нет, где я вижу пример, делающий это.
Эксперты, пожалуйста, пролите немного света на это.