|
|
|
|
AuthRenouvelleToken (Fonction) En anglais : AuthRefreshToken Renouvelle un token OAuth2 d'un utilisateur si ce token est expiré.
// Session OAuth TokenSession est un AuthToken // Session OAuth bufToken est un Buffer sFichierPersistanceAuth est une chaîne = fRepDonnées() + [fSep] + "AuthSession.bin" // Paramètres de connexion OAuth m_Svc est un OAuth2Paramètres // Service OAuth (Login) m_Svc.ClientID = "mon_client_id" m_Svc.ClientSecret = "123456-mon_client_secret-387854" m_Svc.URLAuth = "https://api.serveur.com/connect/authorize" m_Svc.URLToken = "https://api.serveur.com/connect/token" m_Svc.Scope = "openid profile offline_access" m_Svc.URLRedirection = "http://localhost:3333" // ou // m_Svc est un OpenIDParamètres // Service OAuth (Login) // m_Svc.ClientID = "mon_client_id" // m_Svc.ClientSecret = "123456-mon_client_secret-387854" // m_Svc.URLConfiguration = "https://api.serveur.com/.well-known/openid-configuration" // m_Svc.URLRedirection = "http://localhost:3333" // Token précédemment mémorisé ? SI fFichierExiste(sFichierPersistanceAuth) ALORS QUAND EXCEPTION DANS // Charge la session bufToken = fChargeBuffer(sFichierPersistanceAuth) Désérialise(TokenSession, bufToken, psdBinaire) FAIRE // Erreur de relecture du token ToastAffiche("Session mémorisée invalide") SINON // Token est expiré ou va expirer dans la minute qui arrive // et il est renouvelable ? SI (TokenSession.DateExpiration-1min < DateHeureSys()) _ET_ TokenSession.Actualisation <> "" ALORS TokenSession = AuthRenouvelleToken(TokenSession) SI TokenSession.Valide ALORS Sérialise(TokenSession, bufToken, psdBinaire) fSauveBuffer(sFichierPersistanceAuth, bufToken) SINON Erreur("Echec du renouvellement de la session") FIN FIN FIN FIN SI PAS TokenSession.Valide ALORS // Connexion au service TokenSession = AuthIdentifie(m_Svc) SI TokenSession.Valide ALORS // Sauvegarde du token Sérialise(TokenSession, bufToken, psdBinaire) fSauveBuffer(sFichierPersistanceAuth, bufToken) FIN FIN SI PAS TokenSession.Valide ALORS Erreur("Impossible de démarrer la session", ErreurInfo()) SINON MonIdentité est un OpenIDIdentité = OpenIDLitIdentité(TokenSession) SI MonIdentité.Valide ALORS // Les informations récupérables sur l'identité de la personne connectée // dépendent du site qui permet l’authentification Info("Connexion OK : " + MonIdentité.Source) SINON Info("Connexion valide, mais échec identité ", ErreurInfo()) FIN FIN
Syntaxe
<Résultat> = AuthRenouvelleToken(<Token>)
<Résultat> : Variable de type AuthToken Variable de type AuthToken correspondant au token renouvelé. <Token> : Variable de type AuthToken Nom de la variable de type AuthToken correspondant au token à renouveler. Ce token est obtenu par exemple avec la fonction AuthIdentifie. Remarques Selon le token, il n'est pas toujours possible de le renouveler. La propriété Actualisation de la variable de type AuthToken permet de savoir si le token est renouvelable. Composante : wd280ggl.dll
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|