public async Task AuthorizeWithPin(string pin)
{
var keyPairs = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("client_id", ClientId),
new KeyValuePair<string, string>("client_secret", ClientSecret),
new KeyValuePair<string, string>("grant_type", "pin"),
new KeyValuePair<string, string>("pin", pin)
};
var multi = new FormUrlEncodedContent(keyPairs.ToArray());
var tokens = await Request.SubmitGenericRequestAsync<OAuthTokens>(Request.HttpMethod.Post, TokenEndpoint, content: multi);
AccessToken = tokens.AccessToken;
RefreshToken = tokens.RefreshToken;
ExpiresAt = DateTime.UtcNow.AddSeconds(tokens.ExpiresIn);
AuthorizedUsername = tokens.AuthorizedUsername;
}