Je veux déchiffrer le cookie OWIN nommé par défaut ".AspNet.Cookies" par le middleware CookieAuthentication.Comment déchiffrer le cookie ASP.NET pour le middleware CookieAuthentication
0
A
Répondre
0
// Get Cookie
var request = HttpContext.Request;
var cookie = request.Cookies.Get(".AspNet.Cookies");
var ticket = cookie.Value;
// Format Cookie to be converted
ticket = ticket.Replace('-', '+').Replace('_', '/');
var padding = 3 - ((ticket.Length + 3) % 4);
if (padding != 0)
ticket = ticket + new string('=', padding);
var bytes = Convert.FromBase64String(ticket);
// Decrypt
bytes = System.Web.Security.MachineKey.Unprotect(bytes,
typeof(CookieAuthenticationMiddleware).FullName,
"Cookies", // See below
"v1");
Les paramètres transmis à Déprotégez après le paramètre octets, sont appelés aux fins , qui doivent correspondre à celle attendue afin de pouvoir correctement déchiffrer . Sinon, vous obtenez CryptographicException.
Le paramètre « Cookies » correspond à la valeur:
(new CookieAuthenticationOptions()).AuthenticationType
Après le décryptage, vous pouvez construire le ClaimsIdentity comme expliqué dans le lien ci-dessus ou vider les octets à une chaîne.
Désolé je n'ai pas élaboré dans la question depuis que j'ai ajouté ce que j'ai essayé dans ma propre réponse. – AlejandroC
Étudie ce sujet depuis quelques jours et trouve la réponse réunissant plusieurs sources. Je voulais juste partager les résultats. :) – AlejandroC