BlueButton on FHIR User Account
This is the first iteration of a User/Beneficiary Account Framework for BlueButton on FHIR.
This framework has been developed using Python 3.4 and Django 1.8.
The purpose of this application is to test an integration and authorization via an external LDAP Service.
- Validate their account via email
- Manage their account
- Manage OAuth Credentials for third party apps
- Give access permission to third party apps.
This version implements a Custom User model that uses email as username. Django-registration-redux is also implemented to issue email to complete registration. This required some overrides to use email and not username.
The custom user model is in accounts.
The custom user model also implements multi-factor authentication. This uses telephone and carrier information in the User model to send a 4-digit code to the cell phone of the user as part of the login process.
The SMS routines require the user to pick a carrier identity. The app then uses email/smtp to send a 4-digit code to the user. This takes advantage of most (all) carriers having an email to SMS gateway.
The phone number format in the usermodel needs some refinement to allow relaxed number formatting. eg. allowing more than +12025551234 as an input format.
- Configure local.ini
- run pip install -r bbonfhiruser/config/requirements.txt
- python manage.py makemigrations
- python manage.py migrate
- python manage,py createsuperuser
- python manage.py runserver
- login to localhost:8000/admin and configure sites
- set SITES_ID in settings.py to match key of record in admin/sites