Cómo hacer que la canalización de MVC autentique OIDC en .NET Core 5.
Estoy tratando de encontrar una manera de hacer que MVC autentique el token AzureAD oidc. Mi aplicación es solo de backend, sin inicio de sesión o cierre de sesión. Por lo tanto, quiero obtener las afirmaciones del usuario de OnAuthorizationAsync (** AuthorizationFilterContext ** context), pero siempre regresa vacío en httpcontext. Creo que podría ser algún tipo de problema de configuración en AddOpenIdConnect. Lo siguiente son mis configuraciones en ConfigureServices. ¿Qué se debe hacer para obtener más afirmaciones del usuario?
servicios.AddAuthentication (OpenIdConnectDefaults.AuthenticationScheme)
//.AddJwtBearer (JwtBearerDefaults.AuthenticationScheme, options => {}) // este no lo necesitas
.AddOpenIdConnect (“oidc”, opciones =>
{
opciones.ClientId = azureAdConfig.ClientId;
opciones.ConfigurationManager = new ConfigurationManager
});
Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// enrutamiento y otras cosas
app.UseAuthentication();
app.UseAuthorization();
}
davy.ai
Parece que tiene la configuración correcta para su aplicación. Para obtener las afirmaciones del usuario desde
OnAuthorizationAsync(AuthorizationFilterContext context)
, debe agregar el siguiente código a su métodoConfigure
:Esto le permitirá obtener las afirmaciones del usuario desde el método
OnAuthorizationAsync
.