README
AuthSCH könyvtár Go-hoz
Dokumentáció
https://pkg.go.dev/git.sch.bme.hu/kszk/opensource/authsch-go
Használat
- regisztráld az appod itt: https://auth.sch.bme.hu/console/index
- találd ki, hogy milyen scope-ok kellenek, ehhez help itt van: https://git.sch.bme.hu/kszk/authsch/-/wikis/api
- töltsd le a könyvtárt:
go get -u git.sch.bme.hu/kszk/opensource/authsch-go
- hívd meg az
authsch.CreateClient
-et és használd, erre egy példa van a doksiban: https://pkg.go.dev/git.sch.bme.hu/kszk/opensource/authsch-go#example-AccDetails
Documentation
Overview ¶
AuthSCH bejelentkezés könyvtár Go-hoz
Index ¶
Examples ¶
Constants ¶
Variables ¶
Functions ¶
Types ¶
type AccDetails ¶
type AccDetails struct { InternalID string `json:"internal_id"` Surname string `json:"sn"` GivenName string `json:"givenName"` Mail string `json:"mail"` DisplayName string `json:"displayName"` LinkedAccounts struct { Bme string `json:"bme"` SchAcc string `json:"schacc"` Vir int `json:"vir"` VirUid string `json:"virUid"` } `json:"linkedAccounts"` LinkedAccountsLastSync struct { Bme int `json:"bme"` SchAcc int `json:"schacc"` Vir int `json:"vir"` } `json:"lastSync"` EduPersonEntitlement []struct { Id int `json:"id"` Name string `json:"name"` Status string `json:"status"` Title []string `json:"title"` Start string `json:"start"` End string `json:"end"` } `json:"eduPersonEntitlement"` Mobile string `json:"mobile"` ADMembership []string `json:"admembership"` BMEUnitScope []string `json:"bmeunitscope"` }
Egy felhasználó lekérhető adatai. A scope-októl függően az InternalID-n kívül a többi mező üres lehet. A scope-oktról több infót itt találsz: https://git.sch.bme.hu/kszk/authsch/-/wikis/api
Example ¶
Ez a webszerver a /-ben átirányít AuthSCH-s bejelentkezésre, ahol minden támogatott scope-ot kér, majd a kapott parse-olt adatot JSON-ként visszaküldi a felhasználónak.
Output:
type Client ¶
Egy AuthSCH kliens
func CreateClient ¶
Létrehoz egy klienset. Meg kell adni az AuthSCH-n fejlesztői konzolon kapott azonosítót és kulcsot, illetve a kért scope-okat A scope-oktról több infót itt találsz: https://git.sch.bme.hu/kszk/authsch/-/wikis/api
func (*Client) GetAuthURL ¶
Ad egy URL-t az AuthSCH-s bejelentkező ablakhoz, ide kell irányítani a usert. Az AuthSCH majd visszairányítja a usert a megadott URL-re.
func (*Client) GetLoginHandler ¶
func (c *Client) GetLoginHandler(next func(details *AccDetails, w http.ResponseWriter, r *http.Request), errorCallback func(w http.ResponseWriter, r *http.Request)) http.Handler
Egy http.Handler-t ad vissza, amit be kell kötni arra az URL-re, ahova az AuthSCH átirányít A next paraméter megkapja a user adatait a details változóban, illetve egy http.ResponseWriter-t és *http.Request-et is, így az a függvény célszerűen eltárolja a user adatait, beállít egy sütit, majd átirányítja. Az errorCallback paraméterben megadott függvény pedig hibás belépés esetén fut le, ott célszerű egy hibaoldalt megjeleníteni.