|
|
|
|
AuthRefreshToken (Función) Actualiza el token OAuth2 de un usuario cuando caduca.
SessionToken is AuthToken
bufToken is Buffer
sAuthPersistenceFile is string = fDataDir() + [fSep] + "AuthSession.bin"
m_Svc is OAuth2Parameters
m_Svc.ClientID = "my_client_id"
m_Svc.ClientSecret = "123456-my_client_secret-387854"
m_Svc.AuthURL = "https://api.server.com/connect/authorize"
m_Svc.TokenURL = "https://api.server.com/connect/token"
m_Svc.Scope = "openid profile offline_access"
m_Svc.RedirectionURL = "http://localhost:3333"
IF fFileExist(sAuthPersistenceFile) THEN
WHEN EXCEPTION IN
bufToken = fLoadBuffer(sAuthPersistenceFile)
Deserialize(SessionToken, bufToken, psdBinary)
DO
ToastDisplay("Invalid stored session")
ELSE
IF (SessionToken.ExpirationDate-1 min < SysDateTime()) _AND_
SessionToken.Refresh <> "" THEN
SessionToken = AuthRefreshToken(SessionToken)
IF SessionToken.Valid THEN
Serialize(SessionToken, bufToken, psdBinary)
fSaveBuffer(sAuthPersistenceFile, bufToken)
ELSE
Error("Unable to refresh session")
END
END
END
END
IF NOT SessionToken.Valid THEN
SessionToken = AuthIdentify(m_Svc)
IF SessionToken.Valid THEN
Serialize(SessionToken, bufToken, psdBinary)
fSaveBuffer(sAuthPersistenceFile, bufToken)
END
END
IF NOT SessionToken.Valid THEN
Error("Unable to open the session", ErrorInfo())
ELSE
MyIdentity is OpenIDIdentity = OpenIDReadIdentity(SessionToken)
IF MyIdentity.Valid THEN
Info("Connection successful: " + MyIdentity.Source)
ELSE
Info("Valid connection, but invalid identity ", InfoError())
END
END
Sintaxis
<Result> = AuthRefreshToken(<Token>)
<Result>: Variable de tipo AuthToken Variable de tipo AuthToken que corresponde al token actualizado. <Token>: Variable de tipo AuthToken Nombre de la variable de tipo AuthToken que corresponde al token que debe actualizarse. Puede obtener este token utilizando la función AuthIdentify, por ejemplo. Observaciones Algunos tokens no pueden actualizarse. La propiedad Refresh de la variable de tipo AuthToken permite determinar si se puede actualizar el token.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|