Verify Credentials.
()
| 85 | methods=['POST'], endpoint='verify_credentials') |
| 86 | @pga_login_required |
| 87 | def verify_credentials(): |
| 88 | """Verify Credentials.""" |
| 89 | data = json.loads(request.data) |
| 90 | session_token = data['secret']['session_token'] if \ |
| 91 | 'session_token' in data['secret'] else None |
| 92 | tenant_id = data['secret']['azure_tenant_id'] if \ |
| 93 | 'azure_tenant_id' in data['secret'] else None |
| 94 | interactive_browser_credential = False if \ |
| 95 | data['secret']['auth_type'] == 'azure_cli_credential' else True |
| 96 | |
| 97 | if 'azure' not in session: |
| 98 | session['azure'] = {} |
| 99 | |
| 100 | error = '' |
| 101 | status = True |
| 102 | cached_state = session['azure'].get('state') |
| 103 | auth_type_changed = session['azure'].get('auth_type') != \ |
| 104 | data['secret']['auth_type'] |
| 105 | tenant_changed = session['azure'].get('azure_tenant_id') != tenant_id |
| 106 | if cached_state is None or auth_type_changed or tenant_changed: |
| 107 | # Drop any stale state — these creds don't match the cached ones. |
| 108 | session['azure'].pop('state', None) |
| 109 | azure = Azure( |
| 110 | interactive_browser_credential=interactive_browser_credential, |
| 111 | tenant_id=tenant_id, |
| 112 | session_token=session_token) |
| 113 | status, error = azure.validate_azure_credentials() |
| 114 | if status: |
| 115 | _save_azure_to_session(azure) |
| 116 | session['azure']['auth_type'] = data['secret']['auth_type'] |
| 117 | session['azure']['azure_tenant_id'] = tenant_id |
| 118 | if not status and 'double check your tenant name' in error: |
| 119 | error = 'Authentication failed.Please double check tenant id.' |
| 120 | return make_json_response( |
| 121 | success=status, errormsg=sanitize_external_text(error)) |
| 122 | |
| 123 | |
| 124 | @blueprint.route('/get_azure_verification_codes/', |
nothing calls this directly
no test coverage detected