@bQ1

Как реализовать авторизацию по одноразовому коду, который приходит на телефон?

Как реализовать авторизацию по одноразовому коду, который приходит на телефон?

Пользователь тыкает кнопку "Войти", пишет телефон, ему приходит код и по этому коду он авторизуется на сайте. Как это можно реализовать? Посоветуйте готовые библиотеки или сервисы.
  • Вопрос задан
  • 180 просмотров
Решения вопроса 1
deepblack
@deepblack Куратор тега Python
https://www.twilio.com/docs/sms
spoiler
from twilio.rest import Client
from . import app
from flask import session
import random


def send_confirmation_code(to_number):
    verification_code = generate_code()
    send_sms(to_number, verification_code)
    session['verification_code'] = verification_code
    return verification_code


def generate_code():
    return str(random.randrange(100000, 999999))


def send_sms(to_number, body):
    account_sid = app.config['TWILIO_ACCOUNT_SID']
    auth_token = app.config['TWILIO_AUTH_TOKEN']
    twilio_number = app.config['TWILIO_NUMBER']
    client = Client(account_sid, auth_token)
    client.api.messages.create(to_number,
                           from_=twilio_number,
                           body=body)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Radjah
@Radjah
Генерируешь код, записываешь в базу, проверяешь. Периодически удаляешь старые по таймауту.
Ответ написан
Комментировать
@ApolloHoTs
Бесплатно до 10к смс в месяц, Firebase от Google.
https://spark.ru/startup/servicepi/blog/40200/besp...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы