oidc added

This commit is contained in:
2025-01-20 16:55:52 +01:00
parent a75fea3b4e
commit 36739a16a6
2 changed files with 34 additions and 2 deletions

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