2014-11-05 3 views
3

그래서 나는 아주 간단한 것을 놓치고 있어야합니다. 그렇지 않으면 ASP.net Identity 2.0에서 이중 인증이 어떻게 작동하는지 이해하지 못하고 있습니다.ASP.net Identity 2.0으로 이중 인증을 설정하는 방법은 무엇입니까?

2 요소 인증은 GoDaddy 또는 Google처럼 작동하는 것으로 알고 있습니다. 유효한 두 번째 요소 쿠키가없는 컴퓨터에서 로그인을 시도하면 인증 코드와 함께 전자 메일 또는 SMS가 전송되고 로그인 과정을 완료하기 위해 인증 코드를 입력하는 두 번째 양식이 제공됩니다.

모든 코드는 내가 이메일 서비스의가 SendAsync 기능을 구현했다를 제외하고, 새로운 MVC (5) 프로젝트에 존재하는 것으로 나타납니다 : 내가 로그인 할 때, 그러나

public class EmailService : IIdentityMessageService 
{ 
    public Task SendAsync(IdentityMessage message) 
    { 
     // Plug in your email service here to send an email. 
     SmtpClient smtpClient = new SmtpClient("127.0.0.1", 25); 
     MailMessage mail = new MailMessage("[email protected]", message.Destination, message.Subject, message.Body); 
     smtpClient.Send(mail); 
     return Task.FromResult(0); 
    } 
} 

을, 어떤 이메일이 전송되지 않습니다 인증 코드 양식이 표시되지 않습니다.

관리보기 (보기 => 관리 => 색인)로 이동하여 TwoFactor 섹션의 주석 처리를 제거했습니다. 다시 로그인하고 관리 화면으로 이동하여 계정에 대한 2 단계 인증을 활성화했지만 약간의 차이는 없었습니다.

내가 누락 된 부분에 대한 생각?


확인 편집이 나타나도록 내 문제의 핵심이 등록 확인과 관련이있을 수 있습니다. 두 가지 요소 인증은 전자 메일이 확인 된 경우에만 작동하는 것으로 보입니다. 그렇지 않으면 코드가 전송되지 않습니다. 따라서 등록시 전자 메일 확인을 활성화하거나 사용자 등록시 EmailConfirmed = true을 설정해야합니다.

+0

SMTP 서버가 동일한 컴퓨터에서 올바르게 구성 되었습니까? – MichaelS

+0

예, Smtp4Dev를 사용하여 청취합니다. 코드의 다른 부분에서 동일한 방법으로 전자 메일을 보낼 수 있습니다. – Sam

+0

본 적이 있습니까? http://www.asp.net/identity/overview/features-api/two-factor-authentication-using-sms-and-email-with-aspnet-identity? – trailmax

답변

1

문제는 이메일이 이중 인증이 작동하도록 확인 된 것으로 표시되어야한다는 것이 었습니다.

관련 문제