은 그것을 사용하도록 허용 GenerateChangePhoneNumberTokenAsync()를 확인하려면 대신 이메일 전화 번호?

0

질문

나는 건설 API 와서 모바일 앱니다. 나는 원하지 않을 확인하는 전화 번호로 난 사용하기 쉬거나 다른 SMS 공급자 대신에 내가 원하는 확인 이메일을 보냅니다. 동시에,나는 원하지 않을 만드는 이메일로 토큰하여 사용자에게 전송되는 링크를 클릭으로,API 지 않 MVC 없이 모든 뷰가 있습니다.

대신에,나는 6 자리의 코드를 사용자에게 이메일로 전송한 다음 난 것들의 끝점 API 에서는 사용자에게 제출하는 코드를 통해 모바일 앱을 확인 이메일입니다. 예를 들어:

var code = await _userManager.GenerateChangePhoneNumberTokenAsync(newUser, newUser.Email);

이 코드를 작성합니다,나는 전에 사용자 이메일보다는 전화 번호입니다. 이 코드는 이제 사용자에게 이메일로 전송 및 사용자가 입력한 이 모바일 응용 프로그램입니다. 다음:

var confirmed = await _userManager.VerifyChangePhoneNumberTokenAsync(newUser, code, newUser.Email);

이를 확인하는 코드는 정확합니다. 부울에서 결과 이 나는 다음을 사용하여 수동으로 설정 EmailConfirmed 에서 DB true

그것은 작동합니다. 그것은 허용되지만? 어떤 이유 있는 왜 말아야 될 이것을 하고 있는가?

1

최고의 응답

2

하나의 이유는 그지만 그것은 단지 인증 코드를 의미상의 기능에 대한 전화 코드,그래서 그것은 있을 수 있습니"개는"미래에 도입하면 당신이 그것을 사용하는을 위한 이메일.

을 읽어서 소스 를 볼 수 있는 구현을 현재에 따라 RFC6238:시간을 기반으로 한 암호 알고리즘을 충분히 일반적인 전자 메일 사용뿐만 아니라.

따라서,당신은 알고 같은 방법을 사용하여,그것은으로 안전하게 RFC6238 사양으로 구현 ASP.NET Id 핵심입니다.

할 수 없는 클래스를 사용하기 때문에 액세스자 internal지만,다음과 같은 동일한 아이디어가 있 OTP 라이브러리 다.NET 에 따라 동일한 원리를 적용하고 있습니다.

를 사용하여 그들 중 하나는 것을 보장하는 구현이 깨끗하고 가능한 일반적인 내 생각,그러나 신속하고 더러운 솔루션으로 현재 버전 ASP.NET 정체성 코어,내가 볼 것 없는 문제로 접근합니다.

2021-12-04 16:42:57

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................