public bool Authorize(string accessToken) { if (!string.IsNullOrWhiteSpace(accessToken)) { using (WebClient webClient = CreateTwitchWebClient()) { webClient.Headers.Add(TWITCH_AUTHORIZATION_HEADER, "OAuth " + accessToken); string result = webClient.DownloadString(KRAKEN_URL); JObject verifyRequestJson = JObject.Parse(result); if (verifyRequestJson != null) { JObject tokenJson = verifyRequestJson.Value <JObject>("token"); if (tokenJson != null) { bool valid = tokenJson.Value <bool>("valid"); if (valid) { string username = tokenJson.Value <string>("user_name"); string clientId = tokenJson.Value <string>("client_id"); if (!string.IsNullOrWhiteSpace(username) && !string.IsNullOrWhiteSpace(clientId) && clientId.Equals(TWITCH_CLIENT_ID, StringComparison.OrdinalIgnoreCase)) { _twitchAuthInfo = new TwitchAuthInfo(accessToken, username); FireIsAuthorizedChanged(); return(true); } } } } } } RevokeAuthorization(); return(false); }
public void RevokeAuthorization() { _twitchAuthInfo = null; FireIsAuthorizedChanged(); }