コード例 #1
0
ファイル: AuthClient.cs プロジェクト: crumdev/Pinch.SDK
        public async Task <GetAccessTokenFromSecretKeyResponse> GetAccessTokenFromSecretKey(string secretKey, string clientId)
        {
            var client = new HttpClient()
            {
                BaseAddress = new Uri(_authUri)
            };

            client.DefaultRequestHeaders.Authorization = BasicAuthHeader.GetHeader(clientId, secretKey);

            var parameters = new Dictionary <string, string>()
            {
                { "grant_type", "client_credentials" },
                { "scope", "api1" }
            };

            var clientResponse = await client.PostAsync("connect/token", HttpClientHelpers.GetPostBody(parameters));

            var response = await QuickResponse <GetAccessTokenFromSecretKeyResponse> .FromMessage(clientResponse);

            if (response.Data?.AccessToken == null)
            {
                throw new Exception($"Could not get access token. Error: {response.ResponseBody}");
            }

            return(response.Data);
        }
コード例 #2
0
ファイル: AuthClient.cs プロジェクト: stanleychen/Pinch.SDK
        public async Task <GetAccessTokenFromCodeResponse> GetAccessTokenFromCode(string code, string clientId, string redirectUri)
        {
            var client = new HttpClient()
            {
                BaseAddress = new Uri(_authUri)
            };

            client.DefaultRequestHeaders.Authorization = BasicAuthHeader.GetHeader(clientId, _secretKey);

            var parameters = new Dictionary <string, string>()
            {
                { "grant_type", "authorization_code" },
                { "code", code },
                { "redirect_uri", redirectUri }
            };

            var response = await client.Post <GetAccessTokenFromCodeResponse>("connect/token", parameters);

            return(response.Data);
        }
コード例 #3
0
        public async Task <GetAccessTokenFromSecretKeyResponse> GetAccessToken()
        {
            var client = new HttpClient
            {
                BaseAddress = new Uri(_authUri)
            };

            client.DefaultRequestHeaders.Authorization = BasicAuthHeader.GetHeader(_consumerKey, _consumerSecret);

            var clientResponse = await client.GetAsync("/oauth/v1/generate?grant_type=client_credentials");

            var response = await QuickResponse <GetAccessTokenFromSecretKeyResponse> .FromMessage(clientResponse);

            if (response.Data?.AccessToken == null)
            {
                throw new Exception($"Could not get access token. Error: {response.ResponseBody}");
            }

            return(response.Data);
        }