Pytanie Oparte na numerze telefonu Wykryj uwierzytelnianie dla aplikacji mobilnych [zamknięte]


Wszyscy wiemy, że Devise jest de facto standardem wdrażania uwierzytelniania w aplikacjach opartych na szynach.

Domyślnie używa adresu e-mail jako identyfikatora, ale pozwala też używać zamiast niego nazw użytkownika. Posiada również moduł "Confirmable", który pozwala potwierdzić adres e-mail, wysyłając wiadomość e-mail i klikając łącze, aby zweryfikować adres e-mail.

Szukałem czegoś podobnego w przypadku numerów telefonicznych - zasadniczo akceptując numery telefonów jako podstawowy identyfikator zamiast e-maili, a następnie potwierdzając numer telefonu, wysyłając kod uwierzytelniający jako wiadomość SMS na numer użytkownika za pośrednictwem czegoś takiego jak Twilio, a następnie pozwól użytkownikowi potwierdź je, wprowadzając kod (lub nawet pozwól użytkownikowi kliknąć wygenerowany link, aby zweryfikować, tak jak w przypadku e-maili)

Powodem, dla którego spodziewałem się, że będzie popularny moduł dla tej funkcji, jest to, że wygląda na to, że większość mobilnych aplikacji społecznościowych akceptuje numery telefonów i potwierdza ich liczbę w dzisiejszych czasach. Musi być ktoś, kto sądzi, że to jest problem i ma do tego dostęp moduł. Jednak nie mogłem znaleźć żadnych popularnych. Właściwie, aby to precyzyjne, oto tylko trzy odnośniki, które znalazłem w tym:

Żadna z nich nie prowadzi do działającego rozwiązania (próbowałem devise_sms_activable, ale nie działa na szynach 4, a także obawiam się małej liczby gwiazdek). Chciałem więc zapytać, czy jest jakieś sensowne rozwiązanie tego problemu. Czy czegoś brakuje? Czy ten temat został poruszony wśród społeczności deweloperów Devise? Ciekawi mnie rozwiązanie, ale jeśli go nie ma, byłbym wdzięczny za odpowiedź, dlaczego nie jest to łatwo dostępne.

[AKTUALIZACJA]

Myślę, że to pytanie mogło być trochę mylące. Chociaż sam mogę to zbudować, nie lubię ponownie wynajdować koła. Zasadniczo moją intencją w tym pytaniu było:

  1. Jeśli jest jakikolwiek pakiet, który to robi (jak wszystkie moduły, takie jak potwierdzane, token_authentCable, itd. Może nawet moduł Devise i może to być zupełnie inna sprawa)
  2. Lub, jeśli nie ma takiego gotowego rozwiązania, dlaczego go nie ma. Po prostu nie mogę pojąć, dlaczego nie ma takiego rozwiązania, gdy wszyscy wydają się to robić.

Z radością przyjmuję, gdy otrzymam odpowiedź na nr 1 lub nr 2. Dzięki!


14
2018-03-20 01:31


pochodzenie


Czy sprawdziłeś plik konfiguracyjny? Mogę się mylić, ale pomyślałem, że to tak proste, jak zmiana klucza uwierzytelniającego. Oto przykładowy plik konfiguracyjny, poczta e-mail z wyszukiwaniem, a większość tych miejsc można po prostu zastąpić numerem telefonu github.com/plataformatec/devise/blob/... - Tom Prats
Czy możesz podać źródło? Nie wiem, jak to może być tak proste, ponieważ wysłanie SMS-a nie jest wbudowane w szyny i trzeba użyć Twilio itp. - Vlad
@Vlad Zaktualizowałem odpowiedź, którą napisałem po zaktualizowaniu pytania, sprawdź. - a14m


Odpowiedzi:


Zajrzałem do tego wcześniej ... ale wymagania projektowe uległy zmianie ... więc wszystkie poniższe są relatywne linki znalezione na opracuj wiki

możesz użyć poprzednich przewijaków w połączeniu z takimi rzeczami jak Twilio aby wysłać utworzony niestandardowy token autoryzacji i uwierzytelnić użytkownika numerem telefonu innym niż e-mail.

[AKTUALIZACJA]

ponieważ wspomniałeś już działające rozwiązanie, myślę, że właśnie tego szukasz. Aktywny model OTP i ten wpis na blogu jest nowy i nie miałem okazji przetestować go: D

Też znalazłem Dwuetapowe uwierzytelnianie Wymyśl rozszerzenie

[UPDATE Aug / 2017]

Opierając się na projekcie, nad którym ostatnio pracowałem, znalazłem to Tinfoil / devise-dwa-czynnik zapewnia naprawdę dobrą / rozszerzalną integrację z urządzeniem (i jest wysoce konfigurowalny) ... przy użyciu wewnętrznego klejnotu ROTP, możesz dostarczyć różne kody długości w oparciu o różne metody uwierzytelniania (APP / SMS) i inne okno / dryf dozwolony dla każdej metody bez napisać całość od podstaw. (wysoce zalecane, jeśli chcesz mieć pełną moc nad złożonym przepływem pracy)


13
2018-03-24 17:54



Miłe znalezisko. Dziękuję za to. :) - 8bithero
Drugi link bulletowy wydaje się być teraz zepsuty - Jayr Motta
Dzięki, usunę to ... - a14m


Jestem OP, a ponieważ zadałem to pytanie, natknąłem się na klejnot o nazwie active_model_opt https://github.com/heapsource/active_model_otp 

Ten klejnot nie jest dokładnie pluginem, ale robi dokładnie to, czego szukałem. Zasadniczo, dodając go do swojego modelu użytkownika, generuje jednorazowe hasła, które są ważne przez określony czas. Ma nawet wbudowaną funkcję "uwierzytelniania" za pomocą hasła jednorazowego.

W każdym razie mam nadzieję, że każdy, kto natknie się na to pytanie, może uznać tę odpowiedź za przydatną.


7
2018-05-25 22:33





Prawdopodobnie nie jest to dokładnie to, czego szukał OP, ale dla programistów Railsowych w Chinach, teraz jest klejnot o nazwie china_sms który automatycznie integruje różne chińskie usługi wysyłania SMS-ów w Twojej aplikacji Rails. Dodam to tutaj, na wypadek, gdyby ktokolwiek uznał to za przydatne.

https://github.com/saberma/china_sms

https://ruby-china.org/topics/12407


3
2018-02-22 05:46