示例#1
0
        public ContentResult SiteVerify([FromBody] ReCaptchaModel model)
        {
            string reqData = string.Format(
                "secret={0}&response={1}&remoteip={2}",
                secret_key,
                model.ReCaptchaResponse,
                Request.HttpContext.Connection.RemoteIpAddress.ToString()
                );
            string resJson = SimpleHttpClient.PostAsync("https://www.google.com/recaptcha/api/siteverify", reqData, "application/x-www-form-urlencoded").Result;

            return(Content(resJson, "application/json"));
        }
示例#2
0
        public async Task <ExchangeCodeResult> ExchangeCodeAsync(string code, string redirectUri)
        {
            var parameters = BuildExchangeCodeParameters(code, redirectUri);
            var token      = await _httpClient.PostAsync <AccessTokenResponse>($"{ApiEndpoint}/{TokenUri}", parameters);

            if (string.IsNullOrEmpty(token.AccessToken))
            {
                return(null);
            }

            var user = await _httpClient.GetAsync <UserInfo>($"{ApiEndpoint}/{MeUri}", token);

            return(new ExchangeCodeResult()
            {
                Token = token,
                User = user
            });
        }