Skip to content

Commit e14c8ea

Browse files
committed
Changes for authentication with Open ID using Keycloak
1 parent f5b2200 commit e14c8ea

File tree

2 files changed

+27
-7
lines changed

2 files changed

+27
-7
lines changed

.env.example

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,9 @@ PDF_SERVICES_CLIENT_SECRET=
4040

4141
# settings for PDF.js
4242
PDFJS_VERSION_DIST="pdfjs-4.0.379-dist"
43+
44+
# settings for keycloak
45+
KEYCLOAK_SERVER_URL=
46+
KEYCLOAK_CLIENT_ID=
47+
KEYCLOAK_REALM=
48+
KEYCLOAK_CLIENT_SECRET=

sso_app.py

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,15 @@
1313
GRADIO_TEMP_DIR = os.path.join(KH_APP_DATA_DIR, "gradio_tmp")
1414
os.environ["GRADIO_TEMP_DIR"] = GRADIO_TEMP_DIR
1515

16+
# for authentication with Google
17+
# GOOGLE_CLIENT_ID = config("GOOGLE_CLIENT_ID", default="")
18+
# GOOGLE_CLIENT_SECRET = config("GOOGLE_CLIENT_SECRET", default="")
1619

17-
GOOGLE_CLIENT_ID = config("GOOGLE_CLIENT_ID", default="")
18-
GOOGLE_CLIENT_SECRET = config("GOOGLE_CLIENT_SECRET", default="")
19-
20+
# for authentication with Open ID by keycloak
21+
KEYCLOAK_SERVER_URL = config("KEYCLOAK_SERVER_URL")
22+
KEYCLOAK_REALM = config("KEYCLOAK_REALM")
23+
KEYCLOAK_CLIENT_ID = config("KEYCLOAK_CLIENT_ID")
24+
KEYCLOAK_CLIENT_SECRET = config("KEYCLOAK_CLIENT_SECRET")
2025

2126
from ktem.main import App # noqa
2227

@@ -25,10 +30,19 @@
2530

2631
app = FastAPI()
2732
grlogin.register(
28-
name="google",
29-
server_metadata_url="https://accounts.google.com/.well-known/openid-configuration",
30-
client_id=GOOGLE_CLIENT_ID,
31-
client_secret=GOOGLE_CLIENT_SECRET,
33+
# for authentication with Google
34+
# name="google",
35+
# server_metadata_url="https://accounts.google.com/.well-known/openid-configuration",
36+
# client_id=GOOGLE_CLIENT_ID,
37+
# client_secret=GOOGLE_CLIENT_SECRET,
38+
# for authentication with Open ID by keycloak
39+
name="keycloak",
40+
server_metadata_url=(
41+
f"{KEYCLOAK_SERVER_URL}/realms/{KEYCLOAK_REALM}/"
42+
".well-known/openid-configuration"
43+
),
44+
client_id=KEYCLOAK_CLIENT_ID,
45+
client_secret=KEYCLOAK_CLIENT_SECRET,
3246
client_kwargs={
3347
"scope": "openid email profile",
3448
},

0 commit comments

Comments
 (0)