Hello guest, if you read this it means you are not registered. Click here to register in a few simple steps, you will enjoy all features of our Forum.
Bottom Page

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Python /Flask Login with LDAP Auth
#1
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....
Quote
#2
What's the whole traceback message?
Quote
#3
see reply
Quote
#4
(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.
Quote
#5
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/ma...ns.py#L124 Wrote:If :meth:open_session returns None Flask will call into
:meth:make_null_session to create a session that acts as replacement
if the session support cannot work because some requirement is not
fulfilled. The default :class:NullSession class that is created
will complain that the secret key was not set.

To replace the session interface on an application all you have to do
is to assign :attr:flask.Flask.session_interface::
app = Flask(__name__)
app.session_interface = MySessionInterface()
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()
Quote

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  Flask, When the associated foreign key is the same, it is a question of setting a uni passion044 0 84 Aug-02-2018, 08:29 AM
Last Post: passion044
  Uploading multiple pdfs to Flask ( Sql alchmey) with additional variables KirkmanJ 10 532 Jul-27-2018, 09:49 AM
Last Post: KirkmanJ
  Failing to install Flask on Windows using pip shayon 1 154 Jul-11-2018, 12:36 AM
Last Post: micseydel
  Flask Chat Ahmet 6 278 Jul-10-2018, 04:39 PM
Last Post: micseydel
  flask nginx full stack web app develepoment pascale 5 299 Jul-03-2018, 08:20 PM
Last Post: pascale
  Paginate json data in flask or jinja2 soli1994 1 274 Jun-28-2018, 06:00 PM
Last Post: gontajones
  [Flask] Uploading CSV file to flask, only first line being uploaded. Help ! KirkmanJ 2 238 Jun-25-2018, 02:24 PM
Last Post: KirkmanJ
  How to perform predictions on a data in csv file using Flask? manjusavanth 0 257 May-23-2018, 09:03 AM
Last Post: manjusavanth
  Redirecting all Flask logs georgelza 0 167 Apr-18-2018, 12:48 PM
Last Post: georgelza
  flask, I want to send a json from the front end and update it to the postgresql DB wi passion044 1 384 Apr-12-2018, 08:40 AM
Last Post: thomasp

Forum Jump:


Users browsing this thread: 1 Guest(s)