oidc added
This commit is contained in:
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
|
||||
|
Reference in New Issue
Block a user