Ejemplo n.º 1
0
    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();
        }
    }
Ejemplo n.º 2
0
 public DateTime GetExpiryDateTime()
 {
     if (_pkceToken != null)
     {
         return(S4UUtility.GetTokenExpiry(_pkceToken.CreatedAt, _pkceToken.ExpiresIn));
     }
     return(DateTime.MinValue);
 }
Ejemplo n.º 3
0
    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);
        }
    }