26 lines
806 B
Python
26 lines
806 B
Python
from flask import current_app
|
|
from twilio.rest import Client, TwilioException
|
|
|
|
|
|
def _get_twilio_verify_client():
|
|
return Client(
|
|
current_app.config['TWILIO_ACCOUNT_SID'],
|
|
current_app.config['TWILIO_AUTH_TOKEN']).verify.services(
|
|
current_app.config['TWILIO_VERIFY_SERVICE_ID'])
|
|
|
|
|
|
def request_verification_token(phone):
|
|
verify = _get_twilio_verify_client()
|
|
try:
|
|
verify.verifications.create(to=phone, channel='sms')
|
|
except TwilioException:
|
|
verify.verifications.create(to=phone, channel='call')
|
|
|
|
|
|
def check_verification_token(phone, token):
|
|
verify = _get_twilio_verify_client()
|
|
try:
|
|
result = verify.verification_checks.create(to=phone, code=token)
|
|
except TwilioException:
|
|
return False
|
|
return result.status == 'approved' |