示例#1
0
        private async Task <PolicyUserResponse> RefreshTokenAsync(string refreshToken, string clientId)
        {
            var request = new HttpRequestMessage(HttpMethod.Post, $"{_identityUrl}{AccessTokenPath}");
            var body    = new Dictionary <string, string>
            {
                { "grant_type", "refresh_token" },
                { "refresh_token", refreshToken }
            };

            var basicAuthToken = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{clientId}:secret"));

            request.Headers.TryAddWithoutValidation(AuthorizationHeaderName, $"Basic {basicAuthToken}");
            request.Content = new FormUrlEncodedContent(body);

            using (var response = await _httpClient.SendAsync(request, CancellationToken.None))
            {
                if (!response.IsSuccessStatusCode)
                {
                    return(new PolicyUserResponse {
                        ResultCode = AuthenticateUserResponseResultCode.InvalidLogin
                    });
                }

                var responseStream = await response.Content.ReadAsStreamAsync();

                return(await _serializer.DeserializeAsync <PolicyUserResponse>(responseStream));
            }
        }
示例#2
0
        private async Task <T> LoadInternalAsync(IFolder folder, string filename)
        {
            try
            {
                IFile file = await folder.GetFileAsync(filename);

                var fileInfo = await file.GetFileInfoAsync();

                _logger.DebugEx("Loading file: {0}. T is: {1}", file.Path, typeof(T).FullName);

                if (fileInfo.Size == 0)
                {
                    _logger.DebugEx("No data in file: {0}", file.Path);
                    return(default(T));
                }

                using (Stream readableStream = await file.OpenAsync(FileAccess.Read))
                {
                    return(await _serializer.DeserializeAsync(readableStream));
                }
            }
            catch (FileNotFoundException ex)
            {
                _logger.Warn("File not found: " + _filename, ex);
                return(default(T));
            }
        }