Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

382
Views
Asp.net Identity usando contraseña y autenticación de Azure Active Directory

Estoy creando un sitio web ASP.NET MVC 5 con Asp.net Identity (OWIN) y quiero admitir tanto la autenticación tradicional de nombre de usuario/contraseña como la autenticación contra Azure Active Directory. Esta aplicación no necesita autenticarse con ID de Microsoft (ID en vivo), Facebook, Twitter o cualquiera de los otros proveedores externos. La pregunta SO más cercana que encontré es esta: Cómo hacer tanto el inicio de sesión único de Azure Active Directory como las autenticaciones de formularios en ASP.NET MVC

Miré las muestras que se crean cuando crea un proyecto usando la opción "Cuentas de usuario individuales", así como la opción "Cuentas de trabajo y escuela" en VS 2015. Tengo autenticación que funciona bien individualmente; solo cuando trato de combinarlos me encuentro con problemas.

En mi archivo Startup_Auth.cs, estoy configurando OWIN de esta manera:

 public void ConfigureAuth(IAppBuilder app) { app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); //app.UseCookieAuthentication(new CookieAuthenticationOptions { }); app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ExternalCookie, LoginPath = new PathString("/account/sign-in") }); app.UseOpenIdConnectAuthentication( new OpenIdConnectAuthenticationOptions { ClientId = clientId, Authority = authority, TokenValidationParameters = new System.IdentityModel.Tokens.TokenValidationParameters { ValidateIssuer = false, }, Notifications = new OpenIdConnectAuthenticationNotifications() { SecurityTokenValidated = (context) => { return Task.FromResult(0); }, AuthorizationCodeReceived = (context) => { return Task.FromResult(0); }, AuthenticationFailed = (context) => { context.OwinContext.Response.Redirect("/Home/Error"); context.HandleResponse(); // Suppress the exception return Task.FromResult(0); } } } ); }

Esta configuración funciona para la autenticación de contraseña, pero no funciona para la autenticación de AAD. Para habilitar la autenticación AAD, necesito comentar la línea que establece el Tipo de autenticación

 AuthenticationType = DefaultAuthenticationTypes.ExternalCookie,

O simplemente establezca CookieAuthentication sin valores.

 app.UseCookieAuthentication(new CookieAuthenticationOptions { });

Supongo que hay un enfoque relativamente simple para esto y agradecería algunas ideas sobre dónde comenzar a buscar.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Busqué ejemplos de Microsoft. Y todos ellos parecen su solución. Mira aquí:

  1. WebApp-WSFederation-DotNet
  2. WebApp-MultiTenant-OpenIdConnect-DotNet
  3. WebApp-OpenIDConnect-DotNet

Otro ejemplo está aquí con WindowsAzureActiveDirectoryBearerAuthenticationOptions

over 4 years ago · Santiago Trujillo Report

0

Recientemente, Damian Edwards, del equipo de ASP.NET, abrió el código abierto de su sitio web comunitario en github . Están usando Azure AD, así que espero que ayude en la dirección correcta, lamentablemente no tengo experiencia con Azure AD.

Aquí también está el video de YouTube del standup donde hablan de ello, creo que hay algunos consejos y quizás sugerencias que podrías utilizar.

over 4 years ago · Santiago Trujillo Report

0

Me doy cuenta de que esta es una vieja pregunta. Potencialmente estoy buscando hacer algo similar, pero probablemente más como la autenticación de identidad de ASP.Net para más de un inquilino de Azure AD. Encontré esto Integración de Azure AD en ASP.NET Core donde esta declaración:

...luego aproveche la notificación OnTokenValidated para implementar su propia lógica de validación del emisor según los arrendatarios que desee admitir (cualquier arrendatario, cuenta de Microsoft + lista específica de Azure AD, solo Azure AD, solo cuenta de Microsoft, etc.)...

me lleva a creer que el código de muestra puede contener la clave para este escenario de autenticación mixta.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!