From 581f74fd911ca9f716a2182fe81924b770a07497 Mon Sep 17 00:00:00 2001 From: Julien_P Date: Mon, 17 Jun 2019 18:09:40 +0200 Subject: [PATCH] remapping auth endpoints in dedicated .env file for distant auth --- appserver.py | 8 ++ example.env.auth | 128 +++++++++++++++++++++ example.env.global | 6 +- solidata_api/_auth/auth_distant.py | 25 +++-- solidata_api/config.py | 171 +++++++++++++++++++++++++++-- wsgi_dev.py | 10 ++ wsgi_dev_docker.py | 11 +- wsgi_prod.py | 7 +- wsgi_prod_docker.py | 6 + 9 files changed, 348 insertions(+), 24 deletions(-) create mode 100644 example.env.auth diff --git a/appserver.py b/appserver.py index 85b0356..1abb723 100644 --- a/appserver.py +++ b/appserver.py @@ -108,14 +108,21 @@ def app_runner(mode, docker, host, port, mongodb, auth_mode, rsa, anojwt, antisp else : env_path_mailing = Path('.') / 'example.env.mailing' + # if auth_mode != 'internal' : + # env_path_auth = Path('.') / '.env.auth' + # else : + env_path_auth = Path('.') / 'example.env.auth' + else : env_path_global = Path('.') / '.env.global' env_path_mongodb = Path('.') / '.env.mongodb' env_path_mailing = Path('.') / '.env.mailing' + env_path_auth = Path('.') / '.env.auth' load_dotenv(env_path_global, verbose=True) load_dotenv(env_path_mongodb, verbose=True) load_dotenv(env_path_mailing, verbose=True) + load_dotenv(env_path_auth, verbose=True) @@ -141,6 +148,7 @@ def app_runner(mode, docker, host, port, mongodb, auth_mode, rsa, anojwt, antisp run_mode=mode, docker_mode=docker, mongodb_mode=mongodb, + auth_mode=auth_mode, RSA_mode=rsa, diff --git a/example.env.auth b/example.env.auth new file mode 100644 index 0000000..f6bd095 --- /dev/null +++ b/example.env.auth @@ -0,0 +1,128 @@ +### - - - - - - - - - - - - - - ### +### AUTH URL ROOTS +### - - - - - - - - - - - - - - ### + +AUTH_URL_ROOT_LOCAL=http://localhost:4100/api/ +AUTH_URL_ROOT_DISTANT_PROD=https://toktok-auth.com/api/ +AUTH_URL_ROOT_DISTANT_PREPOD=https://preprod.toktok-auth.com/api/ + + + +### - - - - - - - - - - - - - - ### +### USERS LIST RELATED +### - - - - - - - - - - - - - - ### + +AUTH_DISTANT_USER_GET_ONE=usr/infos/get_one/ +AUTH_DISTANT_USER_GET_ONE_METHOD=GET +AUTH_DISTANT_USER_GET_ONE_URL_ARGS=token:access_token +AUTH_DISTANT_USER_GET_ONE_POST_ARGS=none +AUTH_DISTANT_USER_GET_ONE_URL_APPEND=doc_id + +AUTH_DISTANT_USER_GET_LIST=usr/infos/list +AUTH_DISTANT_USER_GET_LIST_METHOD=GET +AUTH_DISTANT_USER_GET_LIST_URL_ARGS=token:access_token,key_2:val_key +AUTH_DISTANT_USER_GET_LIST_POST_ARGS=none +AUTH_DISTANT_USER_GET_LIST_URL_APPEND=none + + + +### - - - - - - - - - - - - - - ### +### ONE USER RELATED +### - - - - - - - - - - - - - - ### + +AUTH_DISTANT_USER_REGISTER=usr/register +AUTH_DISTANT_USER_REGISTER_METHOD=POST +AUTH_DISTANT_USER_REGISTER_URL_ARGS=token:ano_token +AUTH_DISTANT_USER_REGISTER_POST_ARGS=name:name,surname:surname,email:email,pwd:pwd,lang:lang,agreement:agreement +AUTH_DISTANT_USER_REGISTER_URL_APPEND=none + +AUTH_DISTANT_USER_CONF_EMAIL=usr/register/confirm_email +AUTH_DISTANT_USER_CONF_EMAIL_METHOD=GET +AUTH_DISTANT_USER_CONF_EMAIL_URL_ARGS=token:access_token +AUTH_DISTANT_USER_CONF_EMAIL_POST_ARGS=none +AUTH_DISTANT_USER_CONF_EMAIL_URL_APPEND=none + +AUTH_DISTANT_USER_EDIT=usr/edit/ +AUTH_DISTANT_USER_EDIT_METHOD=PUT +AUTH_DISTANT_USER_EDIT_URL_ARGS=token:access_token +AUTH_DISTANT_USER_EDIT_POST_ARGS=edit_auth:edit_auth,doc_type:doc_type,add_to_list:add_to_list,field_to_update:field_to_update,field_value:field_value +AUTH_DISTANT_USER_EDIT_URL_APPEND=usr_id + +AUTH_DISTANT_USER_DELETE=usr/edit/ +AUTH_DISTANT_USER_DELETE_METHOD=DELETE +AUTH_DISTANT_USER_DELETE_URL_ARGS=token:access_token +AUTH_DISTANT_USER_DELETE_POST_ARGS=usr_id:usr_id +AUTH_DISTANT_USER_DELETE_URL_APPEND=usr_id + + + +### - - - - - - - - - - - - - - ### +### LOGIN RELATED +### - - - - - - - - - - - - - - ### + +AUTH_DISTANT_USER_LOGIN=auth/login/ +AUTH_DISTANT_USER_LOGIN_METHOD=POST +AUTH_DISTANT_USER_LOGIN_URL_ARGS=token:ano_token +AUTH_DISTANT_USER_LOGIN_POST_ARGS=email:email,pwd:pwd +AUTH_DISTANT_USER_LOGIN_URL_APPEND=none + +AUTH_DISTANT_USER_LOGIN_ANO=auth/login/anonymous/ +AUTH_DISTANT_USER_LOGIN_ANO_METHOD=GET +AUTH_DISTANT_USER_LOGIN_ANO_URL_ARGS=none +AUTH_DISTANT_USER_LOGIN_ANO_POST_ARGS=none +AUTH_DISTANT_USER_LOGIN_ANO_URL_APPEND=none + + + +### - - - - - - - - - - - - - - ### +### TOKENS RELATED +### - - - - - - - - - - - - - - ### + +AUTH_DISTANT_USER_TOK_CONFIRM=auth/tokens/confirm_access +AUTH_DISTANT_USER_TOK_CONFIRM_METHOD=GET +AUTH_DISTANT_USER_TOK_CONFIRM_URL_ARGS=token:access_token +AUTH_DISTANT_USER_TOK_CONFIRM_POST_ARGS=none +AUTH_DISTANT_USER_TOK_CONFIRM_URL_APPEND=none + +AUTH_DISTANT_USER_TOK_FRESH=auth/tokens/fresh_access_token +AUTH_DISTANT_USER_TOK_FRESH_METHOD=GET +AUTH_DISTANT_USER_TOK_FRESH_URL_ARGS=token:refresh_token +AUTH_DISTANT_USER_TOK_FRESH_POST_ARGS=none +AUTH_DISTANT_USER_TOK_FRESH_URL_APPEND=none + +AUTH_DISTANT_USER_TOK_NEW=auth/tokens/new_access_token +AUTH_DISTANT_USER_TOK_NEW_METHOD=GET +AUTH_DISTANT_USER_TOK_NEW_URL_ARGS=token:access_token +AUTH_DISTANT_USER_TOK_NEW_POST_ARGS=none +AUTH_DISTANT_USER_TOK_NEW_URL_APPEND=none + +AUTH_DISTANT_USER_TOK_NEW_REFRESH=auth/tokens/new_refresh_token/ +AUTH_DISTANT_USER_TOK_NEW_REFRESH_METHOD=POST +AUTH_DISTANT_USER_TOK_NEW_REFRESH_URL_ARGS=none +AUTH_DISTANT_USER_TOK_NEW_REFRESH_POST_ARGS=none +AUTH_DISTANT_USER_TOK_NEW_REFRESH_URL_APPEND=old_refresh_token + + + +### - - - - - - - - - - - - - - ### +### PASSWORD RELATED +### - - - - - - - - - - - - - - ### + +AUTH_DISTANT_PWD_FORGOT=auth/password/password_forgotten +AUTH_DISTANT_PWD_FORGOT_METHOD=POST +AUTH_DISTANT_PWD_FORGOT_URL_ARGS=token:ano_token +AUTH_DISTANT_PWD_FORGOT_POST_ARGS=email:email +AUTH_DISTANT_PWD_FORGOT_URL_APPEND=none + +AUTH_DISTANT_PWD_RESET=auth/password/reset_password +AUTH_DISTANT_PWD_RESET_METHOD=POST +AUTH_DISTANT_PWD_RESET_URL_ARGS=token:access_token +AUTH_DISTANT_PWD_RESET_POST_ARGS=old_pwd:old_pwd,new_pwd:new_pwd +AUTH_DISTANT_PWD_RESET_URL_APPEND=none + +AUTH_DISTANT_PWD_RESET_LINK=auth/password/reset_password +AUTH_DISTANT_PWD_RESET_LINK_METHOD=GET +AUTH_DISTANT_PWD_RESET_LINK_URL_ARGS=renew_pwd_access_token:renew_pwd_access_token +AUTH_DISTANT_PWD_RESET_LINK_POST_ARGS=none +AUTH_DISTANT_PWD_RESET_LINK_URL_APPEND=none + diff --git a/example.env.global b/example.env.global index 0a825a2..2c04897 100644 --- a/example.env.global +++ b/example.env.global @@ -27,9 +27,9 @@ MONGODB_MODE=local # choose between : interrnal | local | distant_prod | distant_preprod AUTH_MODE=local -AUTH_URL_ROOT_LOCAL=http://localhost:4100/ -AUTH_URL_ROOT_DISTANT_PROD=https://toktok-auth.com/ -AUTH_URL_ROOT_DISTANT_PREPOD=https://preprod.toktok-auth.com/ +# AUTH_URL_ROOT_LOCAL=http://localhost:4100/ +# AUTH_URL_ROOT_DISTANT_PROD=https://toktok-auth.com/ +# AUTH_URL_ROOT_DISTANT_PREPOD=https://preprod.toktok-auth.com/ RSA_MODE=yes ANOJWT_MODE=yes diff --git a/solidata_api/_auth/auth_distant.py b/solidata_api/_auth/auth_distant.py index dfe4e86..561b4a5 100644 --- a/solidata_api/_auth/auth_distant.py +++ b/solidata_api/_auth/auth_distant.py @@ -12,19 +12,25 @@ from flask import request, current_app as app, jsonify def getDistantAuthUrl(): + auth_mode = app.config["AUTH_MODE"] log.debug("getDistantAuthUrl / auth_mode : %s", auth_mode ) - auth_url_root_modes = { - "local" : app.config["AUTH_URL_ROOT_LOCAL"], - "distant_prod" : app.config["AUTH_URL_ROOT_DISTANT_PROD"], - "distant_preprod" : app.config["AUTH_URL_ROOT_DISTANT_PREPOD"], - } + if auth_mode != 'internal' : + + auth_url_root_modes = { + "local" : app.config["AUTH_URL_ROOT_LOCAL"], + "distant_prod" : app.config["AUTH_URL_ROOT_DISTANT_PROD"], + "distant_preprod" : app.config["AUTH_URL_ROOT_DISTANT_PREPOD"], + } - auth_url_root = auth_url_root_modes[auth_mode] - log.debug("getDistantAuthUrl / auth_url_root : %s", auth_url_root ) + auth_url_root = auth_url_root_modes[auth_mode] + log.debug("getDistantAuthUrl / auth_url_root : %s", auth_url_root ) - return auth_url_root + return auth_url_root + + else : + return False def checkJWT(token, token_type, return_resp=False): @@ -52,6 +58,9 @@ def distant_auth (func_name=None, as_decorator=True) : log.debug("-@- distant_auth ... func_name : %s", func_name) computed = "test distannt_auth not as decorator" + auth_url_root = getDistantAuthUrl() + log.debug("-@- distant_auth / auth_url_root : %s", auth_url_root ) + def _distant_auth(func): """ """ diff --git a/solidata_api/config.py b/solidata_api/config.py index 6050905..39b152a 100644 --- a/solidata_api/config.py +++ b/solidata_api/config.py @@ -8,7 +8,7 @@ ### + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ### -def formatEnvVar(var_name, format_type='boolean', separator=',') : +def formatEnvVar(var_name, format_type='boolean', separator=',', dict_separator=":") : print("formatEnvVar / var_name : ", var_name) env_var = os.getenv(var_name) @@ -19,22 +19,44 @@ def formatEnvVar(var_name, format_type='boolean', separator=',') : return True else : return False - + + # trransform as none if it is the case + if env_var in [ 'n', 'N', 'none', 'None', 'NONE', 'nan', 'Nan', 'NAN', 'null', 'Null','NULL', 'undefined'] : + env_var = None + elif format_type == 'integer' : - return int(env_var) + if env_var : + return int(env_var) elif format_type == 'float' : - return float(env_var) + if env_var : + return float(env_var) elif format_type == 'list' : - return env_var.split(separator) + if env_var : + return env_var.split(separator) + + elif format_type == 'dict' : + + if env_var : + temp_list = env_var.split(separator) + print("formatEnvVar / temp_list : ", temp_list) + env_dict = {} + if len(temp_list) > 0 : + for tuple_dict in temp_list : + i = tuple_dict.split(dict_separator) + env_dict[ i[0] ] = i[1] + return env_dict - else : - if env_var in [ 'n', 'N', 'none', 'None', 'NONE', 'nan', 'Nan', 'NAN', 'null', 'Null','NULL', 'undefined', '0'] : - return None else : return env_var + else : + # if env_var in [ 'n', 'N', 'none', 'None', 'NONE', 'nan', 'Nan', 'NAN', 'null', 'Null','NULL', 'undefined', '0'] : + # return None + # else : + return env_var + ### + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ### # config_name = os.getenv('FLASK_CONFIGURATION', 'default') @@ -163,9 +185,136 @@ class BaseConfig(object): """ AUTH MODE """ AUTH_MODE = os.getenv("AUTH_MODE") - AUTH_URL_ROOT_LOCAL = os.getenv("AUTH_URL_ROOT_LOCAL") - AUTH_URL_ROOT_DISTANT_PROD = os.getenv("AUTH_URL_ROOT_DISTANT_PROD") - AUTH_URL_ROOT_DISTANT_PREPOD = os.getenv("AUTH_URL_ROOT_DISTANT_PREPOD") + + if AUTH_MODE != 'internal' : + + AUTH_URL_ROOT_LOCAL = os.getenv("AUTH_URL_ROOT_LOCAL") + AUTH_URL_ROOT_DISTANT_PROD = os.getenv("AUTH_URL_ROOT_DISTANT_PROD") + AUTH_URL_ROOT_DISTANT_PREPOD = os.getenv("AUTH_URL_ROOT_DISTANT_PREPOD") + + AUTH_DISTANT_ENDPOINTS = { + + ### + "users_list" : { + "get_one" : { + "url" : os.getenv("AUTH_DISTANT_USER_GET_ONE"), + "method" : os.getenv("AUTH_DISTANT_USER_GET_ONE_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_USER_GET_ONE_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_USER_GET_ONE_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_USER_GET_ONE_POST_ARGS', format_type='dict'), + }, + "list" : { + "url" : os.getenv("AUTH_DISTANT_USER_GET_LIST"), + "method" : os.getenv("AUTH_DISTANT_USER_GET_LIST_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_USER_GET_LIST_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_USER_GET_LIST_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_USER_GET_LIST_POST_ARGS', format_type='dict'), + }, + }, + ### + "user_edit" : { + "register" : { + "url" : os.getenv("AUTH_DISTANT_USER_REGISTER"), + "method" : os.getenv("AUTH_DISTANT_USER_REGISTER_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_USER_REGISTER_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_USER_REGISTER_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_USER_REGISTER_POST_ARGS', format_type='dict'), + }, + "confirm_email" : { + "url" : os.getenv("AUTH_DISTANT_USER_CONF_EMAIL"), + "method" : os.getenv("AUTH_DISTANT_USER_CONF_EMAIL_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_USER_CONF_EMAIL_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_USER_CONF_EMAIL_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_USER_CONF_EMAIL_POST_ARGS', format_type='dict'), + }, + "user_edit" : { + "url" : os.getenv("AUTH_DISTANT_USER_EDIT"), + "method" : os.getenv("AUTH_DISTANT_USER_EDIT_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_USER_EDIT_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_USER_EDIT_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_USER_EDIT_POST_ARGS', format_type='dict'), + }, + "user_delete" : { + "url" : os.getenv("AUTH_DISTANT_USER_DELETE"), + "method" : os.getenv("AUTH_DISTANT_USER_DELETE_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_USER_DELETE_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_USER_DELETE_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_USER_DELETE_POST_ARGS', format_type='dict'), + }, + }, + ### + "user_login" : { + "login" : { + "url" : os.getenv("AUTH_DISTANT_USER_LOGIN"), + "method" : os.getenv("AUTH_DISTANT_USER_LOGIN_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_USER_LOGIN_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_USER_LOGIN_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_USER_LOGIN_POST_ARGS', format_type='dict'), + }, + "login_anonymous" : { + "url" : os.getenv("AUTH_DISTANT_USER_LOGIN_ANO"), + "method" : os.getenv("AUTH_DISTANT_USER_LOGIN_ANO_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_USER_LOGIN_ANO_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_USER_LOGIN_ANO_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_USER_LOGIN_ANO_POST_ARGS', format_type='dict'), + }, + }, + ### + "auth_tokens" : { + "confirm_access" : { + "url" : os.getenv("AUTH_DISTANT_USER_TOK_CONFIRM"), + "method" : os.getenv("AUTH_DISTANT_USER_TOK_CONFIRM_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_USER_TOK_CONFIRM_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_USER_TOK_CONFIRM_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_USER_TOK_CONFIRM_POST_ARGS', format_type='dict'), + }, + "fresh_access_token" : { + "url" : os.getenv("AUTH_DISTANT_USER_TOK_FRESH"), + "method" : os.getenv("AUTH_DISTANT_USER_TOK_FRESH_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_USER_TOK_FRESH_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_USER_TOK_FRESH_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_USER_TOK_FRESH_POST_ARGS', format_type='dict'), + }, + "new_access_token" : { + "url" : os.getenv("AUTH_DISTANT_USER_TOK_NEW"), + "method" : os.getenv("AUTH_DISTANT_USER_TOK_NEW_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_USER_TOK_NEW_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_USER_TOK_NEW_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_USER_TOK_NEW_POST_ARGS', format_type='dict'), + }, + "new_refresh_token" : { + "url" : os.getenv("AUTH_DISTANT_USER_TOK_NEW_REFRESH"), + "method" : os.getenv("AUTH_DISTANT_USER_TOK_NEW_REFRESH_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_USER_TOK_NEW_REFRESH_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_USER_TOK_NEW_REFRESH_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_USER_TOK_NEW_REFRESH_POST_ARGS', format_type='dict'), + }, + }, + ### + "auth_password" : { + "pwd_forgot" : { + "url" : os.getenv("AUTH_DISTANT_PWD_FORGOT"), + "method" : os.getenv("AUTH_DISTANT_PWD_FORGOT_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_PWD_FORGOT_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_PWD_FORGOT_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_PWD_FORGOT_POST_ARGS', format_type='dict'), + }, + "pwd_reset" : { + "url" : os.getenv("AUTH_DISTANT_PWD_RESET"), + "method" : os.getenv("AUTH_DISTANT_PWD_RESET_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_PWD_RESET_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_PWD_RESET_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_PWD_RESET_POST_ARGS', format_type='dict'), + }, + "pwd_reset_link" : { + "url" : os.getenv("AUTH_DISTANT_PWD_RESET_LINK"), + "method" : os.getenv("AUTH_DISTANT_PWD_RESET_LINK_METHOD"), + "url_args" : formatEnvVar('AUTH_DISTANT_PWD_RESET_LINK_URL_ARGS', format_type='dict'), + "url_append" : formatEnvVar('AUTH_DISTANT_PWD_RESET_LINK_URL_APPEND', format_type='string'), + "post_args" : formatEnvVar('AUTH_DISTANT_PWD_RESET_LINK_POST_ARGS', format_type='dict'), + }, + } + } """ RESTPLUS CONFIG """ SWAGGER_UI_DOC_EXPANSION = 'list' diff --git a/wsgi_dev.py b/wsgi_dev.py index 4b17c79..9dd3b95 100644 --- a/wsgi_dev.py +++ b/wsgi_dev.py @@ -17,6 +17,8 @@ docker=os.getenv('DOCKER_MODE', 'docker_off') mongodb=os.getenv('MONGODB_MODE', 'local') +auth_mode=os.getenv('AUTH_MODE', 'internal') + RSA=os.getenv('RSA_MODE', False) anojwt=os.getenv('ANOJWT_MODE', False) antispam=os.getenv('ANTISPAM_MODE', False) @@ -37,8 +39,14 @@ else : env_path_mailing = Path('.') / 'example.env.mailing' +if auth_mode != 'internal' : + env_path_auth = Path('.') / '.env.auth' +else : + env_path_auth = Path('.') / 'example.env.auth' + load_dotenv(env_path_mongodb, verbose=True) load_dotenv(env_path_mailing, verbose=True) +load_dotenv(env_path_auth, verbose=True) ### + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ### @@ -55,6 +63,8 @@ docker_mode=docker, mongodb_mode=mongodb, + auth_mode=auth_mode, + RSA_mode=RSA, anojwt_mode=anojwt, antispam_mode=antispam, diff --git a/wsgi_dev_docker.py b/wsgi_dev_docker.py index f100d58..6568e6f 100644 --- a/wsgi_dev_docker.py +++ b/wsgi_dev_docker.py @@ -19,6 +19,8 @@ docker=os.getenv('DOCKER_MODE', 'docker_off') mongodb=os.getenv('MONGODB_MODE', 'local') +auth_mode=os.getenv('AUTH_MODE', 'internal') + RSA=os.getenv('RSA_MODE', False) anojwt=os.getenv('ANOJWT_MODE', False) antispam=os.getenv('ANTISPAM_MODE', False) @@ -39,9 +41,14 @@ else : env_path_mailing = Path('.') / 'example.env.mailing' +if auth_mode != 'internal' : + env_path_auth = Path('.') / '.env.auth' +else : + env_path_auth = Path('.') / 'example.env.auth' + load_dotenv(env_path_mongodb, verbose=True) load_dotenv(env_path_mailing, verbose=True) - +load_dotenv(env_path_auth, verbose=True) ### + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ### ### FLASK-SOCKETIO @@ -56,6 +63,8 @@ run_mode=run, docker_mode=docker, mongodb_mode=mongodb, + + auth_mode=auth_mode, RSA_mode=RSA, anojwt_mode=anojwt, diff --git a/wsgi_prod.py b/wsgi_prod.py index 85d9b00..5cd82c2 100644 --- a/wsgi_prod.py +++ b/wsgi_prod.py @@ -10,10 +10,12 @@ env_path_global = Path('.') / '.env.global' env_path_mongodb = Path('.') / '.env.mongodb' env_path_mailing = Path('.') / '.env.mailing' +env_path_auth = Path('.') / '.env.auth' load_dotenv(env_path_global, verbose=True) load_dotenv(env_path_mongodb, verbose=True) load_dotenv(env_path_mailing, verbose=True) +load_dotenv(env_path_auth, verbose=True) ### + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ### ### FLASK-SOCKETIO @@ -28,13 +30,14 @@ docker=os.getenv('DOCKER_MODE', 'docker_off') mongodb=os.getenv('MONGODB_MODE', 'distant') +auth_mode=os.getenv('AUTH_MODE', 'internal') + RSA=os.getenv('RSA_MODE', False) anojwt=os.getenv('ANOJWT_MODE', False) antispam=os.getenv('ANTISPAM_MODE', False) antispam_val=os.getenv('ANTISPAM_VAL', 'my-string-to-check') - app = create_app( app_name='SOLIDATA_API_PROD', @@ -42,6 +45,8 @@ docker_mode=docker, mongodb_mode=mongodb, + auth_mode=auth_mode, + RSA_mode=RSA, anojwt_mode=anojwt, antispam_mode=antispam, diff --git a/wsgi_prod_docker.py b/wsgi_prod_docker.py index 2ea2b37..f07e20b 100644 --- a/wsgi_prod_docker.py +++ b/wsgi_prod_docker.py @@ -10,10 +10,12 @@ env_path_global = Path('.') / '.env.global' env_path_mongodb = Path('.') / '.en.mongodb' env_path_mailing = Path('.') / '.env.mailing' +env_path_auth = Path('.') / '.env.auth' load_dotenv(env_path_global, verbose=True) load_dotenv(env_path_mongodb, verbose=True) load_dotenv(env_path_mailing, verbose=True) +load_dotenv(env_path_auth, verbose=True) ### override env vars for Docker os.environ["DOCKER_MODE"] = 'docker_on' @@ -31,6 +33,8 @@ docker=os.getenv('DOCKER_MODE', 'docker_off') mongodb=os.getenv('MONGODB_MODE', 'distant') +auth_mode=os.getenv('AUTH_MODE', 'internal') + RSA=os.getenv('RSA_MODE', False) anojwt=os.getenv('ANOJWT_MODE', False) antispam=os.getenv('ANTISPAM_MODE', False) @@ -45,6 +49,8 @@ docker_mode=docker, mongodb_mode=mongodb, + auth_mode=auth_mode, + RSA_mode=RSA, anojwt_mode=anojwt, antispam_mode=antispam,