dashboard/areas/auth/auth.py

27 lines
666 B
Python
Raw Normal View History

2022-01-18 10:48:18 +01:00
from flask import jsonify
2021-09-27 12:03:35 +02:00
from flask_jwt_extended import create_access_token
from flask_cors import cross_origin
2022-01-18 10:48:18 +01:00
from datetime import timedelta
2021-09-27 12:03:35 +02:00
2021-10-28 16:09:10 +02:00
from areas import api_v1
2022-01-18 10:48:18 +01:00
from config import *
from helpers import HydraOauth
2021-09-27 12:03:35 +02:00
2022-01-18 10:48:18 +01:00
@api_v1.route("/login", methods=["POST"])
2021-09-27 12:03:35 +02:00
@cross_origin()
def login():
2022-01-18 10:48:18 +01:00
authorization_url = HydraOauth.authorize()
return jsonify({"authorizationUrl": authorization_url})
2021-09-27 12:03:35 +02:00
2022-01-18 10:48:18 +01:00
@api_v1.route("/hydra/callback")
@cross_origin()
def hydra_callback():
token = HydraOauth.get_token()
access_token = create_access_token(
identity=token, expires_delta=timedelta(days=365)
)
2021-09-27 12:03:35 +02:00
2022-01-18 10:48:18 +01:00
return jsonify({"access_token": access_token})