/// <summary>
        /// Конструктор
        /// </summary>
        public AuthStorage(DebugSettings settings = null)
        {
            User    = new YAccount();
            Context = new HttpContext();
            Debug   = settings;

            if (Debug != null && Debug.ClearDirectory)
            {
                Debug.Clear();
            }
        }
Exemple #2
0
        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
            };
        }