Example #1
0
        public async Task ReAuthorizeAsync(IApiTransport transport, OnehubCredentials credentials)
        {
            var onehubAuthToken = await _transport.RequestAuthToken(credentials);

            await _tokenStore.StoreTokenAsync(credentials, onehubAuthToken);

            transport.ApplyAuthentication(onehubAuthToken);
        }
Example #2
0
        private static FormUrlEncodedContent toFormUrlEncodedContent(OnehubCredentials onehubCredentials)
        {
            var postData = new Dictionary <string, string>
            {
                ["client_id"]     = onehubCredentials.ClientId,
                ["client_secret"] = onehubCredentials.ClientSecret,
                ["username"]      = onehubCredentials.Username,
                ["password"]      = onehubCredentials.Password,
                ["grant_type"]    = "password"
            };

            return(new FormUrlEncodedContent(postData));
        }
Example #3
0
        public async Task <OnehubAuthToken> RequestAuthToken(OnehubCredentials onehubCredentials)
        {
            HttpResponseMessage authMessage = await _authHttpClient.PostAsync(new Uri("https://ws-api.onehub.com/oauth/token"), toFormUrlEncodedContent(onehubCredentials));

            authMessage.EnsureSuccessStatusCode();
            DateTime now        = DateTime.UtcNow;
            JObject  authObject = JObject.Parse(await authMessage.Content.ReadAsStringAsync());

            return(new OnehubAuthToken
            {
                AccessToken = authObject["access_token"].Value <string>(),
                RefreshToken = authObject["refresh_token"].Value <string>(),
                AccessTokenIssueDateUtc = now,
                AccessTokenExpirationUtc = now.AddSeconds(authObject["expires_in"].Value <long>())
            });
        }
Example #4
0
 public OnehubClient(IOnehubAuthorization authorization, IApiTransport transport, OnehubCredentials credentials)
 {
     _authorization = authorization ?? throw new ArgumentNullException(nameof(authorization));
     _transport     = transport ?? throw new ArgumentNullException(nameof(transport));
     _credentials   = credentials ?? throw new ArgumentNullException(nameof(credentials));
 }
Example #5
0
 public Task StoreTokenAsync(OnehubCredentials onehubCredentials, OnehubAuthToken token)
 {
     _token = token;
     return(Task.CompletedTask);
 }
Example #6
0
 public Task <OnehubAuthToken> GetTokenAsync(OnehubCredentials onehubCredentials)
 {
     return(Task.FromResult(_token));
 }