/// <summary> /// Конструктор /// </summary> public AuthStorage(DebugSettings settings = null) { User = new YAccount(); Context = new HttpContext(); Debug = settings; if (Debug != null && Debug.ClearDirectory) { Debug.Clear(); } }
public async Task AuthorizeAsync(YAuthStorage storage, string token) { if (string.IsNullOrEmpty(token)) { throw new Exception("Задан пустой токен авторизации."); } storage.Token = token; // Пытаемся получить информацию о пользователе YAccount authInfo = await GetUserAuthAsync(storage); // Если не авторизован, то авторизуем if (string.IsNullOrEmpty(authInfo.Uid)) { throw new Exception("Пользователь незалогинен."); } // Флаг авторизации storage.IsAuthorized = true; //var authUserDetails = await GetUserAuthDetailsAsync(storage); //var authUser = authUserDetails.User; storage.User = new YUser { Uid = authInfo.Uid, Login = authInfo.Login, Name = authInfo.FullName, //DeviceId = authUser.DeviceId, FirstName = authInfo.FirstName, SecondName = authInfo.SecondName, //Experiments = authUserDetails.Experiments, //Lang = authInfo.Lang, //Timestamp = authInfo.Timestamp, //YandexId = authInfo.YandexuId }; }