oidc added
This commit is contained in:
parent
a75fea3b4e
commit
36739a16a6
@ -1,15 +1,25 @@
|
||||
async-timeout==5.0.1
|
||||
Authlib==1.4.0
|
||||
blinker==1.9.0
|
||||
cachelib==0.13.0
|
||||
certifi==2024.12.14
|
||||
cffi==1.17.1
|
||||
charset-normalizer==3.4.1
|
||||
click==8.1.8
|
||||
cryptography==44.0.0
|
||||
Flask==3.1.0
|
||||
flask-oidc==2.2.2
|
||||
Flask-Session==0.8.0
|
||||
idna==3.10
|
||||
importlib_metadata==8.5.0
|
||||
itsdangerous==2.2.0
|
||||
Jinja2==3.1.5
|
||||
loguru==0.7.3
|
||||
MarkupSafe==3.0.2
|
||||
msgspec==0.19.0
|
||||
pycparser==2.22
|
||||
redis==5.2.1
|
||||
requests==2.32.3
|
||||
urllib3==2.3.0
|
||||
Werkzeug==3.1.3
|
||||
zipp==3.21.0
|
||||
|
26
src/run.py
26
src/run.py
@ -1,11 +1,14 @@
|
||||
from flask import Flask, session
|
||||
from flask import Flask, session, g
|
||||
from flask_session import Session
|
||||
from flask_oidc import OpenIDConnect
|
||||
from loguru import logger
|
||||
import redis
|
||||
import os
|
||||
|
||||
try:
|
||||
redis_url = os.environ['REDIS_URL']
|
||||
client_secret = os.environ['CLIENT_SECRET']
|
||||
secret_key = os.environ['SECRET_KEY']
|
||||
except KeyError as e:
|
||||
logger.error(f"Required environment variable not set ({e})")
|
||||
raise e
|
||||
@ -14,12 +17,31 @@ except KeyError as e:
|
||||
app = Flask(__name__)
|
||||
|
||||
app.config.update({
|
||||
'SECRET_KEY': secret_key,
|
||||
'SESSION_TYPE': 'redis',
|
||||
'SESSION_REDIS': redis.from_url('redis://172.23.1.111:6379/4')
|
||||
'SESSION_REDIS': redis.from_url('redis://172.23.1.111:6379/4'),
|
||||
'OIDC_CLIENT_SECRETS': {
|
||||
"web": {
|
||||
"issuer": "https://auth2.hottis.de/realms/hottis",
|
||||
"auth_uri": "https://auth2.hottis.de/ealms/hottis/protocol/openid-connect/auth",
|
||||
"client_id": "mini_flask",
|
||||
"client_secret": client_secret,
|
||||
"redirect_uris": [
|
||||
"http://localhost:8080/*"
|
||||
],
|
||||
"userinfo_uri": "https://auth2.hottis.de/realms/hottis/protocol/openid-connect/userinfo",
|
||||
"token_uri": "https://auth2.hottis.de/realms/hottis/protocol/openid-connect/token"
|
||||
}
|
||||
},
|
||||
'OIDC_SCOPES': 'openid email',
|
||||
'OIDC_USER_INFO_ENABLED': True,
|
||||
'SESSION_USE_SIGNER': True,
|
||||
})
|
||||
Session(app)
|
||||
oidc = OpenIDConnect(app)
|
||||
|
||||
@app.route('/')
|
||||
@oidc.require_login
|
||||
def index():
|
||||
counter = int(session.get('counter', '0'))
|
||||
counter += 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user