cas

package
v0.0.0-...-30d6a97 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2026 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Overview

Le package cas permet de s'authentifier auprès du service central d'authentification CAS de l'insa de rennes.

Index

Constants

View Source
const BASEURL = "https://cas.insa-rennes.fr/cas/login"
View Source
const DOMAIN = "cas.insa-rennes.fr"
View Source
const OTP_DOMAIN = "otp-api.insa-rennes.fr"

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthError

type AuthError struct {
	// contains filtered or unexported fields
}

AuthError représente une erreur d'authentification

Une AuthError est renvoyée lorsque le processus d'authentification ne peut pas aboutir.

func (*AuthError) Error

func (e *AuthError) Error() string

Error retourne le message d'erreur.

type CAS

type CAS struct {
	// URL contient l'url complète du CAS
	URL string
	// Jar va contenir, après authentification l'ensemble des cookies nécéssaires pour acceder aux services.
	Jar *cookiejar.Jar
	// Client représente le client http avec lequel l'authentification sera effectuée.
	Client *http.Client
	// contains filtered or unexported fields
}

CAS représente le service central d'authentification

Un instance CAS valide est créée en appelant la fonction New

func New

func New(redirect string) (c *CAS, err error)

New retourne une instance CAS

Cette fonction va renvoyer une instance CAS. Elle prend en argument l'url de redirection du service à acceder après authentification.

func (*CAS) Auth

func (c *CAS) Auth(user string, pass string) error

Auth permet d'authentifier un utilisateur.

Cette fonction va, à partir du nom d'utilisateur de de son mot de passe, faire une requête d'authentification au CAS.

func (*CAS) AutoValidate

func (c *CAS) AutoValidate(secret string) error

AutoValidate permet de generer, puis envoyer une code de 2FA.

À partir du TOTP secret passé en argument, cette fonction va génerer un code de double authentification puis l'envoyer au CAS.

func (*CAS) IsAuthenticated

func (c *CAS) IsAuthenticated() (bool, error)

IsAuthenticated determine si l'instance CAS est bien authentifiée.

Cette fonction va faire une requête au service d'authentification afin de determiner si l'instance actuelle est bien authentifiée.

func (*CAS) IsTokenNeeded

func (c *CAS) IsTokenNeeded() bool

IsTokenNeeded permet de determiner si un code de 2FA est necessaire pour continuer.

Cette fonction renvoie true si il y a besoin d'une code de double authentification pour continuer l'authentification.

func (*CAS) TriggerEmail

func (c *CAS) TriggerEmail() error

TriggerEmail va envoyer un mail contenant le code de 2FA.

Cette fonction va, à partir du nom d'un utilisateur et de son userhash faire une requête à à l'api otp de l'insa afin d'envoyer un mail contenant un code de double authentification à l'utilisateur concerné.

func (*CAS) Validate

func (c *CAS) Validate(token string) error

Validate permet d'envoyer un code de 2FA.

Cette fonction va envoyer le code de double authentification au CAS si un tel code est necessaire.

func (*CAS) Wake

func (c *CAS) Wake(u string) error

Wake permet d'actualiser l'authentification d'un service.

À partir d'une instance CAS authentifiée cette fonction va faire une requête à l'url un service compatible passé en argument afin de paraître authentifié auprès de ce service.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL