Added otp verification
This commit is contained in:
		
					parent
					
						
							
								1faf46cc1b
							
						
					
				
			
			
				commit
				
					
						fda5118c39
					
				
			
		
					 1 changed files with 34 additions and 0 deletions
				
			
		|  | @ -1,4 +1,8 @@ | ||||||
| import logging | import logging | ||||||
|  | import os | ||||||
|  | import pyotp | ||||||
|  | import requests | ||||||
|  | import dotenv | ||||||
| from django.contrib.sites.models import Site | from django.contrib.sites.models import Site | ||||||
| 
 | 
 | ||||||
| from datacenterlight.tasks import create_vm_task | from datacenterlight.tasks import create_vm_task | ||||||
|  | @ -11,6 +15,17 @@ from .models import VMPricing, VMTemplate | ||||||
| 
 | 
 | ||||||
| logger = logging.getLogger(__name__) | logger = logging.getLogger(__name__) | ||||||
| 
 | 
 | ||||||
|  | PROJECT_DIR = os.path.abspath( | ||||||
|  |     os.path.join(os.path.dirname(__file__)), | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | # load .env file | ||||||
|  | dotenv.read_dotenv("{0}/.env".format(PROJECT_DIR)) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def env(env_name): | ||||||
|  |     return os.environ.get(env_name) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| def get_cms_integration(name): | def get_cms_integration(name): | ||||||
|     current_site = Site.objects.get_current() |     current_site = Site.objects.get_current() | ||||||
|  | @ -100,3 +115,22 @@ def clear_all_session_vars(request): | ||||||
|                             'generic_payment_details', 'product_id']: |                             'generic_payment_details', 'product_id']: | ||||||
|             if session_var in request.session: |             if session_var in request.session: | ||||||
|                 del request.session[session_var] |                 del request.session[session_var] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def check_otp(name, realm, token): | ||||||
|  |     data = { | ||||||
|  |         "auth_name": env('AUTH_NAME'), | ||||||
|  |         "auth_token": pyotp.TOTP(env('AUTH_SEED')).now(), | ||||||
|  |         "auth_realm": env('AUTH_REALM'), | ||||||
|  |         "name": name, | ||||||
|  |         "realm": realm, | ||||||
|  |         "token": token | ||||||
|  |     } | ||||||
|  |     response = requests.post( | ||||||
|  |         "https://{OTP_SERVER}{OTP_VERIFY_ENDPOINT}".format( | ||||||
|  |             OTP_SERVER=env('OTP_SERVER'), | ||||||
|  |             OTP_VERIFY_ENDPOINT=env('OTP_VERIFY_ENDPOINT') | ||||||
|  |         ), | ||||||
|  |         data=data | ||||||
|  |     ) | ||||||
|  |     return response.status_code | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue