public static async Task <Credentials> FromDatabaseAsync(string userId)
        {
            var doc = await OAuthDB.GetCredentials(userId);

            Credentials credentials = new Credentials();

            credentials.TokenInternal = (string)doc["TokenInternal"];
            credentials.TokenPublic   = (string)doc["TokenPublic"];
            credentials.RefreshToken  = (string)doc["RefreshToken"];
            credentials.ExpiresAt     = DateTime.Parse((string)doc["ExpiresAt"]);
            credentials.UserId        = userId;

            if (credentials.ExpiresAt < DateTime.Now)
            {
                await credentials.RefreshAsync();
            }

            return(credentials);
        }