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); }