Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Website
Manage
Activity
Members
Labels
Plan
JetBrains YouTrack
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
KSZK
Website
Commits
55d20a20
Commit
55d20a20
authored
11 months ago
by
Kiss Tamás
Browse files
Options
Downloads
Patches
Plain Diff
Update file megujul-az-authsch.md
parent
b1db1f73
Branches
Branches containing commit
Tags
Tags containing commit
1 merge request
!24
megujul-az-authsch
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
app/articles/2024/07/27/megujul-az-authsch.md
+108
-0
108 additions, 0 deletions
app/articles/2024/07/27/megujul-az-authsch.md
with
108 additions
and
0 deletions
app/articles/2024/07/27/megujul-az-authsch.md
0 → 100644
+
108
−
0
View file @
55d20a20
---
slug
:
megujul-az-authsch
title
:
Megújul az AuthSCH
authors
:
thomasklein
tags
:
[
Hírek
,
AuthSCH
,
Blog
]
---
Az AuthSCH szolgáltatásunk idén nyáron ünnepli indulásának tizedik évfordulóját!
Az ünnepre készülve úgy döntöttünk, hogy ráfér egy kis tatarozás,
így hosszú idő után most megújul és új funkcionalitással bővül az AuthSCH.
<!--truncate-->
## Visszatekintés
2013 Novemberében,
egy hideg vasárnap délelőttön
Janega Zoltán veterán öregtagunk
(akkor még csak idősödő tagunk)
nekigyűrkőzött a nagy feladatnak,
hogy egyesítse az akkor elérhető három Címtár rendszert:
a VIR SSO-t,
a BME SSO-t,
és a SCHACC-ot.
Az éppen akkor megjelenő Ubuntu kódneve a _Saucy Salamander_ volt,
a mozikban a héten vetítik a második _Hunger Games_ filmet.
A legújabb Linux kernel verziószáma 3.12,
és akik nem moziba készülnek, azok épp most kezdtek el játszani a frissen megjelent _Grand Theft Auto V-el_.
Zolij az AuthSCH-t az elérhető legfrissebb, 5.5-ös PHP verzióval készíti;
fél éves újdonság a _Docker_ és a _React_,
a _Kubernetes_ pedig valami furcsa, görögnek hangzó szó amiről nem igazán tudja még senki sem, hogy micsoda.
Ahogy aztán haladt a fejlesztés,
a Kir-Dev és a KSZK koordinált blogposztokkal hírdették:
-
[
OAuth a Schönherzben - KSZK
](
https://kszk.bme.hu/articles/sso-rendszerek
)
-
[
Mi az az SSO - Kir-Dev
](
https://kir-dev.hu/post/2014-02-23-sso
)
-
[
auth.sch:az új irány - Kir-Dev
](
https://kir-dev.hu/post/2014-03-16-auth-sch
)
Azóta az AuthSCH éveken át naponta szolgálta a kollégisták és közélők igényeit.
A projekt mintegy 600 commitjából 507 commitot Zolij készített,
a maradék néhány commit 7 kontribútor között oszlik el.
A projekt Zolij veteránná válása után érezhetően megtorpant,
majd 2023 decemberi eseményei miatt életében először hosszabb időre megpihent.
## A jelen újításai
2024 Április elején azzal a kihívással néztünk szembe,
hogy a kézműves szerver,
amin az AuthSCH addig futott, nincs többé.
A szerverrel együtt pedig úgy tűnt odaveszett az üzemeltetési know-how is.
Bár a Decembertől Áprilisig tartó időszakot megpróbáltuk a Microsoft Entra nevű termékével átvészelni,
világossá vált, hogy nem tudja kiváltani az AuthSCH-t.
### Konténerizáció
KSZK-s generációk nőttek fel és végezték el az egyetemet úgy,
hogy szentül hitték: Az AuthSCH-t nem lehet konténerizálni ebben a formájában,
Kubernetesben történő üzemeltetésről pedig senki még álmodni se mert.
Én magam is éveken át éltem ebben a hitben.
A valóság ezzel szemben az, hogy ha nagy a szükség,
akkor 1 napnyi munka elég ahhoz,
hogy az ember belegyömöszölje az AuthSCH-t és függőségeit 3 konténerbe.
További fél nap munka,
és az AuthSCH konténerizálva fut, Kubernetesben, CI/CD pipeline-al megtámogatva.
### OpenID Connect
Az Entrával töltött negyed év viszont rámutatott az AuthSCH hiányosságaira is.
Egyértelművé vált,
hogy a projektet újra kell éleszteni,
és ezeket a hiányosságokat be kell pótolnunk.
Egy Április végi hétvégén aztán feltettem a kérdést:
"Vajon mennyi idő lehet beleintegrálni az OpenID Connect szabványt?"
Itt aztán elszabadult a pokol,
5 évnyi PHP omlott a nyakamba.
Körülbelül 1 hétnyi munkába került,
de az AuthSCH képessé vált OIDC kliensekkel is együttműködni,
sőt, implementáltam az OIDC Discovery szabványt is.
### Modernizált, mobilbarátabb UI
Az OpenID miatt számtalan alkatrészét kellett frissebbre
vagy másra cserélnem.
Az UI keretrendszer évek óta nem kapott frissítést,
és PHP8-on már nem is futott.
Ekkor került eldobásra az előző UI keretrendszer,
és ekkor frissítettem Bootstrap 3-ról Bootstrap 5-re.
Bár a design nem változott jelentősen,
ha már hozzányúltam,
néhány dolgot megváltoztattam vagy mobilbarátabbá tettem.
### Új Scope-ok, Claimek és új Userinfo endpoint
Hogy az AuthSCH minél közelebb kerülhessen az OIDC szabványhoz,
és hogy egységesebbé, egyértelműbbé tegyük az AuthSCH használatát,
új API-t hoztunk létre.
Ennek technikai részleteiről az [AuthSCH Gitlab wiki] oldalán olvashattok.
### Backward kompatibilitás
Habár rengeteg minden változott
[
Thészeusz hajóján
](
https://hu.wikipedia.org/wiki/Th%C3%A9szeusz_haj%C3%B3ja
)
,
az előző 10 évben implementált kliensprogramokkal
a kompatibilitás azonban még egy ideig megmarad.
Ennek ellenére is kérjük az AuthSCH-t használó alkalmazások fejlesztőit,
hogy álljanak át az új API-ra, és használják az újonnan definiált Scope-okat.
[
AuthSCH Gitlab wiki
]:
https://git.sch.bme.hu/kszk/authsch/-/wikis/home
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment