Exemplo n.º 1
0
    /// <summary>
    /// Check if the authorization has expired or is about to expire.
    /// </summary>
    /// <param name="authorization">Authorization with token.</param>
    /// <param name="reserve">Minimum time reserve required for the authorization to still be considered valid.</param>
    /// <returns><c>true</c> if valid, else <c>false</c>.</returns>
    /// <exception cref="NotImplementedException">Thrown in case of custom (unknown) authorization type.</exception>
    public static bool IsExpired(this FortnoxAuthorization authorization, TimeSpan reserve = default)
    {
        switch (authorization)
        {
        case StaticTokenAuth:
            return(false);

        case StandardAuth:
            var expTimeUtc = Utils.DecodeJwt(authorization.AccessToken).ValidTo;
            return(expTimeUtc - reserve < TimeZoneInfo.ConvertTimeToUtc(FortnoxServerInfo.ServerTime));

        default:
            throw new NotImplementedException("Unknown authorization type.");
        }
    }
Exemplo n.º 2
0
 public FortnoxClient(FortnoxAuthorization authorization, HttpClient httpClient, bool useRateLimiter = true)
 {
     Authorization  = authorization;
     HttpClient     = httpClient;
     UseRateLimiter = useRateLimiter;
 }
Exemplo n.º 3
0
 public FortnoxClient(FortnoxAuthorization authorization, bool useRateLimiter = true)
 {
     Authorization  = authorization;
     UseRateLimiter = useRateLimiter;
 }