Documentation
¶
Overview ¶
Le package cas permet de s'authentifier auprès du service central d'authentification CAS de l'insa de rennes.
Index ¶
Constants ¶
const BASEURL = "https://cas.insa-rennes.fr/cas/login"
const DOMAIN = "cas.insa-rennes.fr"
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.
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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é.