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
  Google calendar pthon flask auth Kireta 0 349 Sep-16-2019, 04:50 PM
Last Post: Kireta
  Python-selenium script for automated web-login does not work hectorKJ 2 729 Sep-10-2019, 01:29 PM
Last Post: buran
  HOWTO? Login DSL Modem with Python Requests: need Click "Apply" Button Webtest 4 3,453 Aug-20-2019, 04:03 PM
Last Post: johnmina
  Flask tutorial errors in jinja, auth undefined Ecniv 2 424 May-03-2019, 02:04 PM
Last Post: Ecniv
  Problem enabling http auth in a route nikos 2 577 Mar-02-2019, 01:13 PM
Last Post: nikos
  Python - Scrapy Login in Baggelhsk95 3 1,478 Oct-23-2018, 04:24 PM
Last Post: stranac
  Python - Scrapy Login form Baggelhsk95 4 4,648 Oct-16-2018, 08:01 AM
Last Post: Baggelhsk95
  Using python requests module and BS4 to login on an Wordpress based website apollo 1 4,658 Feb-06-2018, 01:31 AM
Last Post: metulburr
  Login in a Webpage using a python program sumandas89 2 5,614 Dec-21-2017, 01:43 PM
Last Post: metulburr
  Uninitialized ASN.1 value in Flask LDAP3 Auth blueprint zoidberg 1 1,760 Nov-15-2017, 12:29 PM
Last Post: zoidberg

Forum Jump:


Users browsing this thread: 1 Guest(s)