Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

408
Visualizações
Los valores de sesión de Flask no se guardan en diferentes solicitudes

He buscado soluciones en todas partes pero no pude resolver mi problema. Actualmente estoy ejecutando una aplicación Flask con uWSGI y NGINX en AWS.

La aplicación de mi matraz se ejecuta localmente 127.0.0.1:5000 . Intenté agregar secret_key como se menciona en diferentes preguntas, pero no funcionó.

Aquí hay algo de mi código:

app.py

 from flask import Flask, request, redirect, url_for, session, abort from flask_session import Session app = Flask(__name__) app.config["SESSION_TYPE"] = 'filesystem' app.config["SESSION_FILE_DIR"] = '/var/www/test/session' Session(app) @app.route('/auth/login', methods=['POST'], strict_slashes=False) def login(): # did some validations here session.permanent = True session['is_logged_in'] = True return redirect(url_for('home')) @app.route('/auth/home', methods=['GET'], strict_slashes=False) def home(): if session.get('is_logged_in') == None: return redirect('/') # will return to default page return render_template('home.html') if __name__ == '__main__': app.run(host='0.0.0.0')

Siempre me redirigen a la página predeterminada ya que la session no almacenó el valor 'is_logged_in'. Pero almacenó { permanent: True } que creo que es de la línea session.permanent = True .

Configuración en nginx.conf :

 location /auth { rewrite ^/(.+) $1 break; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off: proxy_pass http://127.0.0.1:5000/$1$is_args$args; }

Si ayuda, mi uWSGI se ejecuta en socket = 120.0.0.1:5000 y estoy usando protocol = http .

Y cuando revisé las cookies de la aplicación en el navegador, tiene registrada una cookie de session .

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Intente usar if session['is_logged_in'] == False

Y establezca que la sesión se registra como falsa al principio. En la parte superior después de la Session(app) agregue esta session['is_logged_in'] = False

Editar:

Verifica si 'logged_in' está presente en la sesión. Al iniciar sesión haz esto:

 if 'logged_in' in session: #User logged in

Al cerrar la sesión haz esto

 session.pop('logged_in')
over 4 years ago · Santiago Trujillo Relatório

0

Después de una tediosa investigación, resultó que solo necesitaba incluir plugin = python36 en mi uwsgi.ini, que es de uwsgi-plugin-python36 (rpm).

over 4 years ago · Santiago Trujillo Relatório

0

Noté una falta de persistencia de sesión en mi flujo de OAuth 2.0. La configuración SAMESITE ="Strict" era lo que lo estaba causando. En uno de los pasos, el proveedor de identidad no pudo configurar la cookie y responder con la misma identificación de sesión. Esto condujo a la creación de una nueva sesión al final del flujo de autenticación; por lo tanto, no se estaba realizando ninguna autenticación.

Establecer SAMESITE en "Lax" resolvió mi problema.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda