public void StartAuthentification() { // Check if previous auth if (HasPreviousAuthentification()) { // Load local pkce saved token _pkceToken = LoadPKCEToken(); if (_pkceToken != null) { // Set API authenticator SetAuthenticator(_pkceToken); // if not expired, output expire time if (!_pkceToken.IsExpired) { DateTime expireDT = S4UUtility.GetTokenExpiry(_pkceToken.CreatedAt, _pkceToken.ExpiresIn); Debug.Log($"PKCE token loaded | Expires at '{expireDT.ToLocalTime()}'"); } } } else { // No previous auth, first time, get new GetFreshAuth(); } }
public DateTime GetExpiryDateTime() { if (_pkceToken != null) { return(S4UUtility.GetTokenExpiry(_pkceToken.CreatedAt, _pkceToken.ExpiresIn)); } return(DateTime.MinValue); }
private void OnTokenRefreshed(object sender, PKCETokenResponse token) { DateTime expireDT = S4UUtility.GetTokenExpiry(token.CreatedAt, token.ExpiresIn); Debug.Log($"PKCE token refreshed | Expires at '{expireDT.ToLocalTime()}'"); bool triggerEvent = _pkceToken.IsExpired && !token.IsExpired; _pkceToken = token; if (PKCEConfig != null) { SavePKCEToken(_pkceToken); } if (triggerEvent) { Debug.Log("PKCE: Success in refreshing expired token into new token"); OnAuthenticatorComplete?.Invoke(_pkceAuthenticator); } }