diff --git a/deux/app_settings.py b/deux/app_settings.py index d13260b..06994a2 100644 --- a/deux/app_settings.py +++ b/deux/app_settings.py @@ -11,12 +11,13 @@ DEFAULTS = { "BACKUP_CODE_DIGITS": 12, "MFA_CODE_NUM_DIGITS": 6, + "STEP_SIZE": 30, "MFA_MODEL": "deux.models.MultiFactorAuth", "SEND_MFA_TEXT_FUNC": "deux.notifications.send_mfa_code_text_message", - "STEP_SIZE": 30, "TWILIO_ACCOUNT_SID": "", "TWILIO_AUTH_TOKEN": "", - "TWILIO_SMS_POOL_SID": "", + "TWILIO_PHONE_NUMBER": "", + "MFA_CODE_TEXT_MESSAGE": "Two Factor Authentication Code: {code}" } # List of settings that cannot be empty. diff --git a/deux/notifications.py b/deux/notifications.py index 50a9c1d..46ac7e8 100644 --- a/deux/notifications.py +++ b/deux/notifications.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, unicode_literals -from twilio.rest import TwilioRestClient -from twilio.rest.exceptions import TwilioRestException +from twilio.rest import Client +from twilio.base.exceptions import TwilioRestException from deux import strings from deux.app_settings import mfa_settings @@ -26,13 +26,13 @@ def send_mfa_code_text_message(mfa_instance, mfa_code): sid = mfa_settings.TWILIO_ACCOUNT_SID token = mfa_settings.TWILIO_AUTH_TOKEN - twilio_num = mfa_settings.TWILIO_SMS_POOL_SID + twilio_num = mfa_settings.TWILIO_PHONE_NUMBER if not sid or not token or not twilio_num: print("Please provide Twilio credentials to send text messages. For " "testing purposes, the MFA code is {code}".format(code=mfa_code)) return - twilio_client = TwilioRestClient(sid, token) + twilio_client = Client(sid, token) try: twilio_client.messages.create( body=strings.MFA_CODE_TEXT_MESSAGE.format(code=mfa_code), diff --git a/deux/serializers.py b/deux/serializers.py index d6905d4..4c39acd 100644 --- a/deux/serializers.py +++ b/deux/serializers.py @@ -39,6 +39,7 @@ def to_representation(self, mfa_instance): class Meta: model = mfa_settings.MFA_MODEL + fields = '__all__' class _BaseChallengeRequestSerializer(MultiFactorAuthSerializer): diff --git a/deux/strings.py b/deux/strings.py index c1ed5c0..3970822 100644 --- a/deux/strings.py +++ b/deux/strings.py @@ -1,6 +1,7 @@ from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ +from deux.app_settings import mfa_settings #: Error if user submits both MFA and backup code for authentication. BOTH_CODES_ERROR = _( @@ -32,4 +33,4 @@ SMS_SEND_ERROR = _("SMS failed to send.") #: Message body for a MFA code. -MFA_CODE_TEXT_MESSAGE = _("Two Factor Authentication Code: {code}") +MFA_CODE_TEXT_MESSAGE = mfa_settings.MFA_CODE_TEXT_MESSAGE