Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
34261d02a9 | ||
|
|
5f761d4fe8 | ||
|
|
b6f78da9c8 |
@@ -45,7 +45,7 @@ public class YUserAPI : YCommonAPI
|
||||
Api.Storage.AccessToken = accessToken;
|
||||
Api.Storage.Token = accessToken.AccessToken;
|
||||
|
||||
await AuthorizeAsync(accessToken.AccessToken);
|
||||
await AuthorizeByPassportAsync(accessToken.AccessToken);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -63,6 +63,16 @@ public class YUserAPI : YCommonAPI
|
||||
Api.Storage.SetAuthorized(authInfo.Account, token);
|
||||
}
|
||||
|
||||
public async Task AuthorizeByPassportAsync(string token)
|
||||
{
|
||||
if (string.IsNullOrEmpty(token))
|
||||
throw new Exception("Токен не может быть пустым");
|
||||
|
||||
Api.Storage.Token = token;
|
||||
await GetAccessTokenAsync();
|
||||
await AuthorizeAsync(Api.Storage.Token);
|
||||
}
|
||||
|
||||
public Task<YAccountResult?> GetUserAuthAsync()
|
||||
=> new YGetAuthInfoBuilder(Api).ExecuteAsync(null!);
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ namespace YandexMusic.API.Requests.Account;
|
||||
internal class YGetMusicTokenBuilder : YAuthRequestBuilder<YAccessToken?, object>
|
||||
{
|
||||
public YGetMusicTokenBuilder(YandexMusicApi api) : base(api) { }
|
||||
protected override string BaseUrl => YConstants.Endpoints.MobilePassportUrl;
|
||||
protected override string Method => WebRequestMethods.Http.Post;
|
||||
protected override string PathTemplate => "/1/token";
|
||||
protected override HttpContent? GetContent(object _)
|
||||
|
||||
@@ -24,7 +24,6 @@ public class YandexMusicClient : IDisposable
|
||||
private readonly YandexMusicApi _api;
|
||||
private readonly AuthStorage _storage;
|
||||
private readonly HttpClient _httpClient;
|
||||
private readonly bool _ownsHttpClient;
|
||||
private YnisonPlayer? _player;
|
||||
|
||||
/// <summary>Хранилище авторизации.</summary>
|
||||
@@ -417,8 +416,7 @@ public class YandexMusicClient : IDisposable
|
||||
{
|
||||
if (_disposed) return;
|
||||
_player?.Dispose();
|
||||
if (_ownsHttpClient)
|
||||
_httpClient.Dispose();
|
||||
_httpClient.Dispose();
|
||||
_disposed = true;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user