a wrapper for the central authentication service of unilim, easily pluggable to any other librairies.
https://cas.unilim.fr
- Rust 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| examples | ||
| src | ||
| tests | ||
| .gitattributes | ||
| .gitignore | ||
| bun.lock | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE.md | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
cas.unilim.fr
Client for the Central Authentication Service of Unilim, the University of Limoges.
It talks to the LemonLDAP::NG portal at cas.unilim.fr and handles login,
2FA, session persistence, service tickets and OAuth2.
Usage
First login, with 2FA
| Rust | JS/TS |
|---|---|
|
|
finish() registers our "browser" on the portal.
Restoring a session, bypassing 2FA
To be able to do this you should've stored the following values.
cas.connection(llngconnectionpersistence cookie)cas.key(TOTP secret linked to that cookie)
| Rust | JS/TS |
|---|---|
|
|
A raw lemonldap session cookie can also be wrapped with
CAS::temporary(cookie). Such a session cannot be restored.
Forge service tickets
The returned URL is the login route of the service with a ticket=ST-...
query parameter. Requesting it logs you into the service.
| Rust | JS/TS |
|---|---|
|
|
Authorize OAuth2
| Rust | JS/TS |
|---|---|
|
|
License
GPL-3.0-or-later, see LICENSE.md. Not affiliated with the University of Limoges.