public override string RequestToken(HttpRequestBase request) { var code = request.Params["code"]; if (String.IsNullOrEmpty(code)) { return(OAuth2Consts.ACCESS_DENIED); } string tokenUrl = string.Format("https://graph.facebook.com/oauth/access_token?"); string postData = QueryStringBuilder.Build( "client_id", _client.ClientId, "redirect_uri", _client.CallBackUrl, "client_secret", _client.ClientSecret, "code", code ); string responseJson = HttpPost(tokenUrl, postData); responseJson = responseJson.Replace("=", "\":\"").Replace("&", "\",\""); if (responseJson.Substring(0, 1) != "{") { responseJson = "{\"" + responseJson + "\"}"; } return(JsonConvert.DeserializeAnonymousType(responseJson, new { access_token = "" }).access_token); }
public override string RequestToken(HttpRequestBase request) { var oauthToken = request["oauth_token"]; var oauthVerifier = request["oauth_verifier"]; if (String.IsNullOrEmpty(oauthToken) || String.IsNullOrEmpty(oauthVerifier)) { return(OAuth2Consts.ACCESS_DENIED); } string postData = QueryStringBuilder.Build( "oauth_consumer_key", _client.ClientId, "oauth_nonce", _util.GetNonce(), "oauth_signature_method", "HMAC-SHA1", "oauth_timestamp", _util.GetTimeStamp(), "oauth_token", oauthToken, "oauth_verifier", oauthVerifier, "oauth_version", "1.0" ); const string accessTokenUrl = "https://api.twitter.com/oauth/access_token"; var signature = _util.GetSha1Signature("POST", accessTokenUrl, postData, _client.ClientSecret); var responseText = HttpPost(accessTokenUrl, postData + "&oauth_signature=" + Uri.EscapeDataString(signature)); var twitterAuthResp = new TwitterAuthResponse(responseText); _client.Token = twitterAuthResp.OAuthToken; _client.TokenSecret = twitterAuthResp.OAuthTokenSecret; return(twitterAuthResp.OAuthToken); }
public void QueryStringBuilder_Build_Empty_QueryString_Should_Throw_Error() { var queryStringBuilder = new QueryStringBuilder(); Assert.Throws <InvalidOperationException>(() => { var str = queryStringBuilder.Build(); }); }
public override string BeginAuthentication() { var qstring = QueryStringBuilder.Build( "client_id", _client.ClientId, "response_type", "code", "redirect_uri", _client.CallBackUrl, "scope", _client.Scope ); _oauthUrl = LoginUrlOauth + "/webapps/auth/protocol/openidconnect/v1/authorize?" + qstring; return _oauthUrl; }
public void AddFilter() { var qsb = new QueryStringBuilder(); var key = Guid.NewGuid(); Expression <Func <Person, bool> > exp1 = x => x.Key == key; qsb.AddFilter(exp1); var pattern = $"?$filter=Ref_Key eq guid'{key}'&$format=json"; var result = qsb.Build(); Assert.AreEqual(pattern, result); }
public override string BeginAuthentication() { var qstring = QueryStringBuilder.Build( "client_id", _client.ClientId, "response_type", "code", "redirect_uri", $"{_AbsoluteUri.TrimEnd('/')}/{_client.CallBackUrl.TrimStart('/')}", "scope", _client.Scope ); _oauthUrl = LoginUrlOauth + "/webapps/auth/protocol/openidconnect/v1/authorize?" + qstring; return(_oauthUrl); }
public void AddKey() { var qsb = new QueryStringBuilder(); var key = Guid.NewGuid(); qsb.AddKey(key); var pattern = $"(guid'{key}')?$format=json"; var result = qsb.Build(); Assert.AreEqual(pattern, result); }
public async Task <IApiResponse <IEnumerable <ReturnType> > > ExecuteCsvAsync <ReturnType>( string urlPattern, NameValueCollection nvc, QueryStringBuilder qsb, CancellationToken cancellationToken) where ReturnType : class { HttpStateModel state = null; try { ReplaceUrlPatterns(ref urlPattern, ref nvc); var url = $"{urlPattern}{qsb.Build()}"; state = await ExecuteInternalAsync(url, cancellationToken); cancellationToken.ThrowIfCancellationRequested(); if (state.Error) { return(ApiResponse.FromError <IEnumerable <ReturnType> >(state.Meta, state.Response)); } using (var reader = new CsvReader(new StringReader(state.Response), CultureInfo.InvariantCulture)) { var typeConverterOptions = new TypeConverterOptions(); typeConverterOptions.NullValues.Add("null"); reader.Configuration.TypeConverterCache.AddConverter <Instant>(new NodaTimeCsvConverter()); reader.Configuration.TypeConverterCache.AddConverter <SplitData>(new SplitCsvConverter()); reader.Configuration.TypeConverterCache.AddConverter <decimal>(new DecimalCsvConverter()); reader.Configuration.TypeConverterCache.AddConverter <int>(new IntCsvConverter()); cancellationToken.ThrowIfCancellationRequested(); var records = reader.GetRecords <ReturnType>().ToList().AsEnumerable(); cancellationToken.ThrowIfCancellationRequested(); logger.LogDebug("Correctly deserialized response"); return(ApiResponse.FromSucces(state.Meta, records)); } } catch (OperationCanceledException tce) { logger.LogInformation("Task cancelled"); return(await Task.FromCanceled <IApiResponse <IEnumerable <ReturnType> > >(cancellationToken)); } catch (Exception ex) { return(ApiResponse.FromError <IEnumerable <ReturnType> >(state?.Meta ?? new ErrorHttpMetadata(), ex.ToString())); } }
public override string BeginAuthentication() { var qstring = QueryStringBuilder.Build( "client_id", _client.ClientId, "redirect_uri", _client.CallBackUrl, "scope", _client.Scope, "state", "", "display", "popup" ); _oauthUrl = "https://www.facebook.com/dialog/oauth?" + qstring; return(_oauthUrl); }
public override string BeginAuthentication() { var qstring = QueryStringBuilder.Build( "client_id", _client.ClientId, "redirect_uri", $"{_AbsoluteUri.TrimEnd('/')}/{_client.CallBackUrl.TrimStart('/')}", "scope", _client.Scope, "state", "" //, //"display", "popup" ); _oauthUrl = "https://www.facebook.com/dialog/oauth?" + qstring; return(_oauthUrl); }
public override string BeginAuthentication() { var qstring = QueryStringBuilder.Build( "client_id", _client.ClientId, "redirect_uri", _client.CallBackUrl, "scope", _client.Scope, "state", "", "display", "popup" ); _oauthUrl = "http://familyxiao.com:9090/familyxiao-signIn.html?" + qstring; return(_oauthUrl); }
public override string RequestToken(HttpRequestBase request) { var code = request.Params["code"]; if (String.IsNullOrEmpty(code)) return OAuth2Consts.ACCESS_DENIED; var oauthUrl = ApiUrlOauth + "/v1/identity/openidconnect/tokenservice"; var postData = QueryStringBuilder.Build( "grant_type", "authorization_code", "redirect_uri", _client.CallBackUrl, "code", code, "client_id", _client.ClientId, "client_secret", _client.ClientSecret ); var responseJson = HttpPost(oauthUrl, postData); return JsonConvert.DeserializeAnonymousType(responseJson, new { access_token = "" }).access_token; }
public override void Execute() { var a = new QueryStringBuilder(); // "null" Console.WriteLine(a.Build()?.ToString() ?? "null"); var b = QueryStringBuilder.Create(); // "null" Console.WriteLine(b.Build()?.ToString() ?? "null"); var c = QueryStringBuilder.Create("https://google.com"); // "https://google.com/" Console.WriteLine(c.Build()); }
public GetMessagesPagingRequest(GetMessagesQuery query) { ChannelId = query.ChannelId; var queryBuilder = new QueryStringBuilder() .AddParam("messageId", query.FromId); if (query.FromDateTime.HasValue) { var messageCreated = query.FromDateTime.Value.ToString("u"); queryBuilder.AddParam("messageCreated", messageCreated); } if (query.Count.HasValue) { queryBuilder.AddParam("pageSize", query.Count); } _queryParams = queryBuilder.Build(); }
public override string RequestToken(HttpRequestBase request) { var code = request.Params["code"]; if (String.IsNullOrEmpty(code)) { return(OAuth2Consts.ACCESS_DENIED); } const string tokenUrl = "https://accounts.google.com/o/oauth2/token"; var postData = QueryStringBuilder.Build( "code", code, "client_id", _client.ClientId, "client_secret", _client.ClientSecret, "redirect_uri", _client.CallBackUrl, "grant_type", "authorization_code" ); string resonseJson = HttpPost(tokenUrl, postData); return(JsonConvert.DeserializeAnonymousType(resonseJson, new { access_token = "" }).access_token); }
public async Task <IApiResponse <ReturnType> > ExecuteJsonAsync <ReturnType>( string urlPattern, QueryStringBuilder qsb, CancellationToken cancellationToken) where ReturnType : class { var url = $"{urlPattern}{qsb.Build()}"; HttpStateModel state = null; try { state = await ExecuteInternalAsync(url, cancellationToken); if (state.Error) { return(ApiResponse.FromError <ReturnType>(state.Meta, state.Response)); } cancellationToken.ThrowIfCancellationRequested(); var data = JsonConvert.DeserializeObject <ReturnType>(state.Response, jsonSerializerSettings); cancellationToken.ThrowIfCancellationRequested(); logger.LogDebug("Correctly deserialized response"); return(ApiResponse.FromSucces(state.Meta, data)); } catch (OperationCanceledException tce) { logger.LogInformation("Task cancelled"); return(await Task.FromCanceled <IApiResponse <ReturnType> >(cancellationToken)); } catch (Exception ex) { return(ApiResponse.FromError <ReturnType>(state.Meta, ex.ToString())); } }
public override string RequestToken(HttpRequestBase request) { var code = request.Params["code"]; if (String.IsNullOrEmpty(code)) { return(OAuth2Consts.ACCESS_DENIED); } string tokenUrl = "https://graph.facebook.com/oauth/access_token?"; string postData = QueryStringBuilder.Build( "client_id", _client.ClientId, "redirect_uri", $"{_AbsoluteUri.TrimEnd('/')}/{_client.CallBackUrl.TrimStart('/')}", "client_secret", _client.ClientSecret, "code", code ); string responseJson = HttpPost(tokenUrl, postData); //Newtonsoft.Json.JsonReaderException //Invalid character after parsing property name. Expected ':' but got: a. Path '', line 1, position 4. //resonseJson = "{\"" + resonseJson.Replace("=", "\":\"").Replace("&", "\",\"") + "\"}"; return(JsonConvert.DeserializeAnonymousType(responseJson, new { access_token = "" }).access_token); }
public override string BeginAuthentication() { var qstring = QueryStringBuilder.Build( // Twitter relies on Callback URL setting on http://apps.twitter.com/ // If you set client callback here it'll return 401 // "oauth_callback", _client.CallBackUrl, "oauth_consumer_key", _client.ClientId, "oauth_nonce", _util.GetNonce(), "oauth_signature_method", "HMAC-SHA1", "oauth_timestamp", _util.GetTimeStamp(), "oauth_version", "1.0" ); const string requestTokenUrl = "https://api.twitter.com/oauth/request_token"; var signature = _util.GetSha1Signature("POST", requestTokenUrl, qstring, _client.ClientSecret); var responseText = HttpPost(requestTokenUrl, qstring + "&oauth_signature=" + Uri.EscapeDataString(signature)); var twitterAuthResp = new TwitterAuthResponse(responseText); const string authenticateUrl = "https://api.twitter.com/oauth/authenticate"; var oauthUrl = authenticateUrl + "?oauth_token=" + twitterAuthResp.OAuthToken; return(oauthUrl); }