2015-10-03 3 views
10

Ich baue eine Mobile-fokussierte Webanwendung, um später zu Hybrid zu konvertieren, und ich würde es vorziehen, dass neue Benutzerregistrierungen die Telefonnummer des Benutzers gegen ihre E-Mail-Adresse bestätigen.Wie kann ich eine neue Benutzerregistrierung per SMS bestätigen?

Ich möchte einem neuen Benutzer eine SMS mit einem eindeutigen Code senden. Wenn sie sich zum ersten Mal anmelden, müssen sie diesen Code eingeben, um ihr Konto zu aktivieren.

Ich habe einen benutzerdefinierten SMS-Dienst, der SMS sendet fein, und würde gerne wissen, wie dies in den Registrierungsprozess der Identität zu integrieren.

Bitte beachten Sie, dass ich SMS für routinemäßige Zwei-Faktor-Authentifizierung nicht verwenden möchte.

+0

Sind Sie u sing Entity Framework für Ihre Benutzerkonten? Wenn nicht, habe ich dies vor der Verwendung von Nexmo & Parse getan. Lassen Sie mich wissen, wenn Sie danach suchen. –

+0

Ich benutze EF für Konten, aber sicher, wo die Nummer gespeichert ist, ist irrelevant. – ProfK

+0

Wenn es eine SMS gibt, dann ist es Zwei-Faktor-Authentifizierung? – MstfAsan

Antwort

6

Sie können zusätzliche Aktionen in Ihrem Konto-Controller erstellen und Verwendung von Methoden Microsoft.AspNet.Identity.Core

  1. UserManager.GenerateChangePhoneNumberToken
  2. Senden Sie eine SMS mit Token
  3. UserManager.VerifyChangePhoneNumberToken
  4. Benutzerdefinierte Logik zur Autorisierung hinzufügen
+0

Hört sich gut an, danke. Ich werde es heute später ausprobieren. – ProfK

0

Es gibt mehrere Möglichkeiten, dies zu erreichen.

  1. Billig, aber nicht zuverlässig oder betriebsbereit ist es, eine App auf einem Gerät zu erstellen, das Sie besitzen und über das andere Geräte eine SMS senden. Sie können die SMS bearbeiten und antworten, wie Sie möchten. Mit unbegrenzten SMS-Plänen wäre es in Ordnung. Es ist nur nicht redundant oder zuverlässig (die Telefonbatterie könnte sterben, müssen Sie möglicherweise Updates, die Service unterbrechen könnten, usw.)

  2. Arbeiten Sie mit einem Unternehmen wie Twilio (https://www.twilio.com/) und verwenden Sie ihre SMS-Gateway, API und Dienstleistungen um schnell und kostengünstig (in den meisten Fällen) die Art von Dienstleistung zu erstellen, die Sie anbieten möchten. Es gibt Konkurrenten für Twilio, und ich unterstütze sie nicht, sondern stelle sie nur als Beispiel zur Verfügung.

  3. Erhalten Sie Ihr eigenes SMS-Gateway (https://en.wikipedia.org/wiki/SMS_gateway) und führen Sie dann stark integrierte und angepasste Dienste durch.

Wenn dies nur ein Proof of Concept auf betrieblicher Ebene ist oder Sie nicht wissen, was Ihre Benutzer Akzeptanz sein wird, dann 1 # ist wahrscheinlich gut, bis Sie # 2 benötigen. # 3 ist selten die beste Option.

+0

Vielen Dank, aber ich habe bereits einen SMS-Dienst, Build für einen lokalen Anbieter mit viel die gleichen Dienste wie z. Twillio. Ich frage nicht, wie ich SMS senden soll, sondern wie ich meinen SMS-Absender in die Identitätsprüfung für neue Benutzer integrieren kann. Ich schätze, ich kann diesen Code einreißen und finde heraus, wo die E-Mail-Bestätigung gesendet wird, und ich tausche sie gegen SMS aus, aber ich hoffte auf eine Anleitung, was ich tun sollte und was nicht. – ProfK