diff --git a/WotBlitzStatisticsPro.GraphQl/Mutation/WargamingAuthMutation.cs b/WotBlitzStatisticsPro.GraphQl/Mutation/WargamingAuthMutation.cs index 08ed2ed..677d9dd 100644 --- a/WotBlitzStatisticsPro.GraphQl/Mutation/WargamingAuthMutation.cs +++ b/WotBlitzStatisticsPro.GraphQl/Mutation/WargamingAuthMutation.cs @@ -25,5 +25,17 @@ namespace WotBlitzStatisticsPro.GraphQl.Mutation { return _wargamingAuthenticationClient.ProlongAuthToken(realm, oldToken); } + + /// + /// Removes player's access token + /// + /// Wargaming realm + /// Token to logout + /// + public async Task Logout(RealmType realm, string token) + { + await _wargamingAuthenticationClient.Logout(realm, token); + return "OK"; + } } } diff --git a/WotBlitzStatisticsPro.WgApiClient/IWargamingAuthenticationClient.cs b/WotBlitzStatisticsPro.WgApiClient/IWargamingAuthenticationClient.cs index 746e28c..c66910b 100644 --- a/WotBlitzStatisticsPro.WgApiClient/IWargamingAuthenticationClient.cs +++ b/WotBlitzStatisticsPro.WgApiClient/IWargamingAuthenticationClient.cs @@ -8,5 +8,8 @@ namespace WotBlitzStatisticsPro.WgApiClient string LoginUrl(RealmType realm); Task ProlongAuthToken(RealmType realm, string oldToken); + + Task Logout(RealmType realm, string token); + } } diff --git a/WotBlitzStatisticsPro.WgApiClient/WagramingApiClientBase.cs b/WotBlitzStatisticsPro.WgApiClient/WagramingApiClientBase.cs index 34a8efb..4c626a6 100644 --- a/WotBlitzStatisticsPro.WgApiClient/WagramingApiClientBase.cs +++ b/WotBlitzStatisticsPro.WgApiClient/WagramingApiClientBase.cs @@ -75,7 +75,7 @@ namespace WotBlitzStatisticsPro.WgApiClient var responseBody = JsonConvert.DeserializeObject>(responseString); - _logger.LogInformation($"HTTP GET {uri} - {responseBody.Status}"); + _logger.LogInformation($"HTTP {(postMethod ? "POST": "GET")} {uri} - {responseBody.Status}"); switch (responseBody.Status) { diff --git a/WotBlitzStatisticsPro.WgApiClient/WargamingApiClient.cs b/WotBlitzStatisticsPro.WgApiClient/WargamingApiClient.cs index 46672ae..51f829f 100644 --- a/WotBlitzStatisticsPro.WgApiClient/WargamingApiClient.cs +++ b/WotBlitzStatisticsPro.WgApiClient/WargamingApiClient.cs @@ -232,6 +232,17 @@ namespace WotBlitzStatisticsPro.WgApiClient }; } + public async Task Logout(RealmType realm, string token) + { + // https://api.worldoftanks.ru/wot/auth/logout/?application_id=adc1387489cf9fc8d9a1d85dbd27763d + string prolongUri = GetWotUri( + realm, + "auth/logout/", + new string[] { $"access_token={token}" }); + await CallWgApi(prolongUri, true); + } + + #endregion } }