oidc added

This commit is contained in:
Wolfgang Hottgenroth 2025-01-20 16:55:52 +01:00
parent a75fea3b4e
commit 36739a16a6
Signed by: wn
GPG Key ID: 18FDFA577A8871AD
2 changed files with 34 additions and 2 deletions

View File

@ -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

View File

@ -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