Python /Flask Login with LDAP Auth - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Web Scraping & Web Development (https://python-forum.io/forum-13.html) +--- Thread: Python /Flask Login with LDAP Auth (/thread-9512.html) |
Python /Flask Login with LDAP Auth - pythonnubie - Apr-13-2018 I have Python/Flask application with a login screen. My goal is to utilize LDAP authentication in unison with my Python/Flask app. The issue that i am running into is this: " raise RuntimeError('The session is unavailable because no secret ' RuntimeError: The session is unavailable because no secret key was set. Set the secret_key on the application to something unique and secret." I have a secret key and i still get the error same error when i comment it out. Here is my code: import token from flask import Flask, session from flask.ext.sqlalchemy import SQLAlchemy from flask.ext.login import LoginManager app = Flask(name) app.secret_key = 'welfhwdlhwdlfhwelfhwlehfwlehfelwehflwefwlehflwefhlwefhlewjfhwelfjhweflhweflhwel' app.config['SESSION_TYPE'] = 'filesystem' app.config['LDAP_AUTH_SERVER'] = 'LDAPLocation.com' app.config['LDAP_PORT'] = '636' app.config['LDAP_TOP_DN'] = 'CN=something here,OU=somethingHere,OU=SomeService Accounts,dc=magic,dc=pumpum,DC=com Xe' app.config['LDAP_BIND_USER_PASSWORD'] = 'pssword' app.register_blueprint(token, url_prefix='/auth') db = SQLAlchemy(app) login_manager = LoginManager() login_manager.init_app(app) login_manager.login_view = 'login' from app.auth.views import auth app.register_blueprint(auth) Thank you in advance.... RE: Python /Flask Login with LDAP Auth - nilamo - Apr-13-2018 What's the whole traceback message? RE: Python /Flask Login with LDAP Auth - pythonnubie - Apr-16-2018 see reply RE: Python /Flask Login with LDAP Auth - pythonnubie - Apr-16-2018 (Apr-16-2018, 12:35 PM)pythonnubie Wrote: see reply Traceback (most recent call last): File "C:\Users\e751975\PythonApp\venv\lib\site-packages\flask\app.py", line 1997, in __call__ return self.wsgi_app(environ, start_response) File "C:\Users\e751975\PythonApp\venv\lib\site-packages\flask\app.py", line 1985, in wsgi_app response = self.handle_exception(e) File "C:\Users\e751975\PythonApp\venv\lib\site-packages\flask\app.py", line 1540, in handle_exception reraise(exc_type, exc_value, tb) File "C:\Users\e751975\PythonApp\venv\lib\site-packages\flask\_compat.py", line 33, in reraise raise value File "C:\Users\e751975\PythonApp\venv\lib\site-packages\flask\app.py", line 1982, in wsgi_app response = self.full_dispatch_request() File "C:\Users\e751975\PythonApp\venv\lib\site-packages\flask\app.py", line 1614, in full_dispatch_request rv = self.handle_user_exception(e) File "C:\Users\e751975\PythonApp\venv\lib\site-packages\flask\app.py", line 1517, in handle_user_exception reraise(exc_type, exc_value, tb) File "C:\Users\e751975\PythonApp\venv\lib\site-packages\flask\_compat.py", line 33, in reraise raise value File "C:\Users\e751975\PythonApp\venv\lib\site-packages\flask\app.py", line 1612, in full_dispatch_request rv = self.dispatch_request() File "C:\Users\e751975\PythonApp\venv\lib\site-packages\flask\app.py", line 1598, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "C:\Users\e751975\PythonApp\venv\login\app.py", line 21, in do_admin_login flash('wrong password!') File "C:\Users\e751975\PythonApp\venv\lib\site-packages\flask\helpers.py", line 387, in flash session['_flashes'] = flashes File "C:\Users\e751975\PythonApp\venv\lib\site-packages\werkzeug\local.py", line 350, in __setitem__ self._get_current_object()[key] = value File "C:\Users\e751975\PythonApp\venv\lib\site-packages\flask\sessions.py", line 130, in _fail raise RuntimeError('The session is unavailable because no secret ' RuntimeError: The session is unavailable because no secret key was set. Set the secret_key on the application to something unique and secret. RE: Python /Flask Login with LDAP Auth - nilamo - Apr-16-2018 Alright, after looking through the source, it looks like the LoginManager doesn't actually manage the session itself, it only adds some things on top of it. So you still need to let Flask know what sort of session management you're using. https://github.com/pallets/flask/blob/master/flask/sessions.py#L124 Wrote:If :meth:That's the error you're getting, which leads me to believe this is an easy fix. After you create your app, but before running it, try adding this line, and let's see if that fixes it (or at least gives a different error): app.session_interface = session.SecureCookieSessionInterface()
|