2017-11-13 6 views
0

KentorAuthServices & Owin을 사용하여 Azure AD에 대해 인증 할 수있는 작업 구성이 있지만 방금 로그인 한 사용자에 대한 기본 정보를 알아야합니다. 인증 서비스로 WSFed를 사용하면 아래의 SecurityTokenValidated 알림을 처리 할 수 ​​있습니다. KentorAuthServices와 어떻게 비슷한가? 이 정보를 가져 오는 적절한 알림이 표시되지 않습니다. 내가 필요한 것은 사용자가 로그인 한 사용자 이름/이메일 주소뿐입니다.Kentor AuthServices/Owin - ID 공급자의 응답 처리

Notifications = new WsFederationAuthenticationNotifications 
      { 
       SecurityTokenValidated = context => 
       { 
        string username = context.AuthenticationTicket.Identity.FindFirst(ClaimTypes.Name).Value; 

        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, username, DateTime.Now, DateTime.Now.AddMinutes(60), true, ""); 
        String encryptedTicket = FormsAuthentication.Encrypt(authTicket); 
        context.Response.Cookies.Append(FormsAuthentication.FormsCookieName, encryptedTicket); 
        return Task.FromResult(0); 
       } 
      } 

ETA : 이렇게 좀 더 내가 AcsCommandResultCreated 난에 후크 할 알림이라고 생각 파고 - 그러나 이것은 발사하지?

답변

2

SAML 응답의 모든 정보는 결과 ID의 클레임으로 변환됩니다. ASP.Net Identity와 함께 기본 템플릿을 사용하는 경우 AccountController에서 ExternalLoginCallback 작업으로 외부 ID에 액세스 할 수 있습니다.

성공적인 로그인시에는 AcsCommandResultCreated 알림이 확실히 발생해야합니다. Katana 로깅을 활성화하고 오류로 인해 로그인 시퀀스가 ​​중단되는지 확인하십시오.

+0

화려한 - 이것은 나를 올바른 방향으로 향하게하기에 충분했습니다! 정말 고마워! –