Add auth to refresh call
This commit is contained in:
@ -2,10 +2,23 @@ import os
|
|||||||
import jwt
|
import jwt
|
||||||
from flask import request, jsonify
|
from flask import request, jsonify
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
|
|
||||||
SECRET_KEY = os.getenv('JWT_SECRET')
|
SECRET_KEY = os.getenv('JWT_SECRET')
|
||||||
ADMIN_SECRET_KEY = os.getenv('JWT_ADMIN_SECRET_KEY')
|
ADMIN_SECRET_KEY = os.getenv('JWT_ADMIN_SECRET_KEY')
|
||||||
|
|
||||||
|
def generate_admin_token():
|
||||||
|
expiration_time = datetime.utcnow() + timedelta(minutes=5)
|
||||||
|
payload = {
|
||||||
|
'role': 'admin',
|
||||||
|
'exp': expiration_time
|
||||||
|
}
|
||||||
|
|
||||||
|
token = jwt.encode(payload, ADMIN_SECRET_KEY, algorithm="HS256")
|
||||||
|
return token
|
||||||
|
|
||||||
|
|
||||||
def user_token_required(f):
|
def user_token_required(f):
|
||||||
@wraps(f)
|
@wraps(f)
|
||||||
def decorated(*args, **kwargs):
|
def decorated(*args, **kwargs):
|
||||||
|
|||||||
@ -17,10 +17,15 @@ from features.extract import extract_and_upload_raw_data
|
|||||||
from features.user_history import generate_and_upload_user_history
|
from features.user_history import generate_and_upload_user_history
|
||||||
|
|
||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
|
from auth import generate_admin_token
|
||||||
|
|
||||||
|
|
||||||
def call_refresh_api(api):
|
def call_refresh_api(api):
|
||||||
|
headers = {
|
||||||
|
'Authorization': f'Bearer {generate_admin_token()}'
|
||||||
|
}
|
||||||
try:
|
try:
|
||||||
response = requests.get(api, timeout=10)
|
response = requests.get(api, headers=headers, timeout=10)
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
print("scoring service refreshed")
|
print("scoring service refreshed")
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user