Configuré una API de bucle invertido, y planeo usar el inicio de sesión, ya que tal matraz haría solicitudes de bucle invertido y el bucle invertido devuelve un accessToken de acceso
Por ejemplo, inicie sesión en el panel:
# Login route @app.route("/login", methods=['GET', 'POST']) def login(): status = "" url_login = 'http://localhost:3000/api/Users/login' try: if request.method == 'POST': username = request.form['username'] password = request.form['password'] payload_login = { "username": str(username), "password":str(password) } print(payload_login) r = requests.post(url_login, data=payload_login).text access_token = json.loads(r) # access_token = r['id'] # access_token = json.loads(access_token) print("Access Token: " + str(access_token['id'])) return redirect('/') #CHANGE TO 404 PAGE except Exception as e: print(e) return redirect('/') #CHANGE TO 404 PAGE return render_template('login.html') @app.route('/dashboard', methods=['GET', 'POST']) def logged_in_dashboard(): return render_template('index.html') ¿Cómo lo configuro para que el inicio de sesión en el tablero requiera accessToken desde loopback? En el pasado, usé app.config['ACCESS_KEY'] ='key' y configuré que si contiene un token permitiría al usuario iniciar sesión.
Pero no estoy seguro si esto es una buena práctica. ¿Algo que le gustaría recomendar que pueda manejar muchos inicios de sesión de usuario?
No cree solicitudes a la API desde dentro de la API. Para compartir funcionalidad entre puntos finales, utilice funciones. Necesita al menos dos funciones aquí:
Authorization de la solicitud, por ejemploVerifique el enfoque al que se vincula chans para obtener más detalles de implementación: ¿Cómo implementa la autenticación de token en Flask?
O el tutorial oficial sobre cómo implementar sesiones:https://flask.palletsprojects.com/en/1.1.x/quickstart/#sessions
Que tiene algo como esto:
@app.route('/') def index(): # this if is the login requirement if 'username' in session: return 'Logged in as %s' % escape(session['username']) return 'You are not logged in' @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': # Add logic for validating username and password here. # If credentials are ok, set username to session. session['username'] = request.form['username'] return redirect(url_for('index')) return ''' <form method="post"> <p><input type=text name=username> <p><input type=submit value=Login> </form> '''