Skip to content
Snippets Groups Projects
Commit 55d20a20 authored by Kiss Tamás's avatar Kiss Tamás
Browse files

Update file megujul-az-authsch.md

parent b1db1f73
Branches
Tags
1 merge request!24megujul-az-authsch
---
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment