コード例 #1
0
    public static FareEstimateOutput getEstimatesForUserLocation(double latitude, double longitude, double destinationLatitude, double destinationLongitude)
    {
        FareEstimateOutput outputData = new FareEstimateOutput();
        AuthenticationKeys auth       = new AuthenticationKeys();

        try
        {
            string uri        = "https://api.uber.com/v1.2/estimates/price?start_latitude=" + latitude + "&start_longitude=" + longitude + "&end_latitude=" + destinationLatitude + "&end_longitude=" + destinationLongitude;
            var    webRequest = (HttpWebRequest)WebRequest.Create(uri);
            string authToken  = "Token " + auth.uberServerToken;
            webRequest.Headers.Add("Authorization", authToken);
            webRequest.Method = "GET";
            var webResponse = (HttpWebResponse)webRequest.GetResponse();
            if ((webResponse.StatusCode == HttpStatusCode.OK) && (webResponse.ContentLength > 0))
            {
                var    reader = new StreamReader(webResponse.GetResponseStream());
                string s      = reader.ReadToEnd();
                outputData = JsonConvert.DeserializeObject <FareEstimateOutput>(s);
                return(outputData);
            }
            else
            {
                Console.WriteLine("Error");
                return(null);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            return(null);
        }
    }
コード例 #2
0
    public static int autoUpdateRequestStatus(string requestID, string updateStatus)
    {
        AuthenticationKeys auth = new AuthenticationKeys();

        try
        {
            string            uri        = "https://sandbox-api.uber.com/v1/sandbox/requests/" + requestID;
            var               webRequest = (HttpWebRequest)WebRequest.Create(uri);
            AccessCredentials accessData = new AccessCredentials();
            accessData = (AccessCredentials)HttpContext.Current.Session["userAuthData"];
            string authToken = "Bearer " + accessData.getAccessToken();
            webRequest.Headers.Add("Authorization", authToken);
            webRequest.ContentType = "application/json";
            webRequest.Method      = "PUT";
            using (var streamWriter = new StreamWriter(webRequest.GetRequestStream()))
            {
                string json = "{\"status\":\"" + updateStatus + "\"}";

                streamWriter.Write(json);
                streamWriter.Flush();
            }
            var webResponse = (HttpWebResponse)webRequest.GetResponse();
            return(1);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            return(0);
        }
    }
コード例 #3
0
    public static int cancelRideRequest(string requestID)
    {
        AuthenticationKeys auth = new AuthenticationKeys();

        if (HttpContext.Current.Session["userAuthData"] != null)
        {
            try
            {
                string            uri        = "https://sandbox-api.uber.com/v1/requests/" + requestID;
                var               webRequest = (HttpWebRequest)WebRequest.Create(uri);
                AccessCredentials accessData = new AccessCredentials();
                accessData = (AccessCredentials)HttpContext.Current.Session["userAuthData"];
                string authToken = "Bearer " + accessData.getAccessToken();
                webRequest.Headers.Add("Authorization", authToken);
                webRequest.ContentType = "application/json";
                webRequest.Method      = "DELETE";
                var webResponse = (HttpWebResponse)webRequest.GetResponse();
                HttpContext.Current.Session["userAuthData"] = null;
                return(1);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(0);
            }
        }
        else
        {
            return(-1);
        }
    }
コード例 #4
0
    public static double getAuthToken(string authCode)
    {
        AuthenticationKeys   auth       = new AuthenticationKeys();
        MapAccessCredentials outputData = new MapAccessCredentials();

        try
        {
            HttpContext.Current.Session["userAuthData"] = null;
            string uri        = "https://login.uber.com/oauth/v2/token?client_secret=" + auth.uberClientSecret + "&client_id=" + auth.uberClientId + "&grant_type=authorization_code&redirect_uri=http://localhost:63685/KzUber/booking.html&code=" + authCode;
            var    webRequest = (HttpWebRequest)WebRequest.Create(uri);
            webRequest.Method = "POST";
            var webResponse = (HttpWebResponse)webRequest.GetResponse();
            if ((webResponse.StatusCode == HttpStatusCode.OK) && (webResponse.ContentLength > 0))
            {
                var    reader = new StreamReader(webResponse.GetResponseStream());
                string s      = reader.ReadToEnd();
                outputData = JsonConvert.DeserializeObject <MapAccessCredentials>(s);
                AccessCredentials accessData = new AccessCredentials(outputData.last_authenticated, outputData.access_token, outputData.expires_in, outputData.token_type, outputData.scope, outputData.refresh_token);
                HttpContext.Current.Session["userAuthData"] = accessData;
                return(accessData.getExpiryTime());
            }
            else
            {
                Console.WriteLine("Error");
                return(-1);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            return(0);
        }
    }
コード例 #5
0
    public static RequestEstimateOutput getRequestEstimate(string productID, double latitude, double longitude, double destLat, double destLong)
    {
        AuthenticationKeys    auth       = new AuthenticationKeys();
        RequestEstimateOutput outputData = new RequestEstimateOutput();

        if (HttpContext.Current.Session["userAuthData"] != null)
        {
            try
            {
                string            uri        = "https://sandbox-api.uber.com/v1.2/requests/estimate";
                var               webRequest = (HttpWebRequest)WebRequest.Create(uri);
                AccessCredentials accessData = new AccessCredentials();
                accessData = (AccessCredentials)HttpContext.Current.Session["userAuthData"];
                string authToken = "Bearer " + accessData.getAccessToken();
                webRequest.Headers.Add("Authorization", authToken);
                webRequest.ContentType = "application/json";
                //webRequest.Headers.Add("Accept-Language", "en_US");
                //webRequest.Headers.Add("Content-Type", "application/json");
                webRequest.Method = "POST";

                using (var streamWriter = new StreamWriter(webRequest.GetRequestStream()))
                {
                    string json = "{\"product_id\":\"" + productID + "\",\"start_latitude\":" + latitude + ",\"start_longitude\":" + longitude + ",\"end_latitude\":" + destLat + ",\"end_longitude\":" + destLong + "}";

                    streamWriter.Write(json);
                    streamWriter.Flush();
                }

                var webResponse = (HttpWebResponse)webRequest.GetResponse();
                if ((webResponse.StatusCode == HttpStatusCode.OK) && (webResponse.ContentLength > 0))
                {
                    var    reader = new StreamReader(webResponse.GetResponseStream());
                    string s      = reader.ReadToEnd();
                    outputData = JsonConvert.DeserializeObject <RequestEstimateOutput>(s);
                    return(outputData);
                }
                else
                {
                    Console.WriteLine("Error");
                    return(null);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(null);
            }
        }
        else
        {
            return(null);
        }
    }
コード例 #6
0
        public void GetAllScreenboards_should_add_datadog_authentication_keys_to_request()
        {
            var sut = CreateSut();

            var keyTest = new AuthenticationKeys <ScreenboardSummaries>(_mocks.Client);

            RestRequest actualRestRequest = new RestRequest();

            _mocks.Client.Execute <ScreenboardSummaries>(Arg.Do <RestRequest>(x => actualRestRequest = x));

            keyTest.AssertRequest_Contains_DataDog_AuthenticationKeys(() => sut.GetAllScreenboards());

            // act
            sut.GetAllScreenboards();

            // assert
            AssertRequest_Contains_DataDog_AuthenticationKeys(actualRestRequest);
        }
コード例 #7
0
    public static RideReceiptOutput generateRideReceipt(string requestID)
    {
        RideReceiptOutput  outputData = new RideReceiptOutput();
        AuthenticationKeys auth       = new AuthenticationKeys();

        if (HttpContext.Current.Session["userAuthData"] != null)
        {
            try
            {
                string            uri        = "https://sandbox-api.uber.com/v1/requests/" + requestID + "/receipt";
                var               webRequest = (HttpWebRequest)WebRequest.Create(uri);
                AccessCredentials accessData = new AccessCredentials();
                accessData = (AccessCredentials)HttpContext.Current.Session["userAuthData"];
                string authToken = "Bearer " + accessData.getAccessToken();
                webRequest.Headers.Add("Authorization", authToken);
                webRequest.ContentType = "application/json";
                webRequest.Method      = "GET";
                var webResponse = (HttpWebResponse)webRequest.GetResponse();
                if ((webResponse.StatusCode == HttpStatusCode.OK) && (webResponse.ContentLength > 0))
                {
                    var    reader = new StreamReader(webResponse.GetResponseStream());
                    string s      = reader.ReadToEnd();
                    outputData = JsonConvert.DeserializeObject <RideReceiptOutput>(s);
                    HttpContext.Current.Session["userAuthData"] = null;
                    return(outputData);
                }
                else
                {
                    Console.WriteLine("Error");
                    return(null);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(null);
            }
        }
        else
        {
            return(null);
        }
    }
コード例 #8
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public override string TransformText()
        {
            this.Write("\r\n");

            #line 1 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
            var model = (SmartAppInfo)Model;

            #line default
            #line hidden
            this.Write(@"using System;
using System.Text;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Identity;
using Microsoft.IdentityModel.Tokens;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using ");

            #line 10 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(model.Id));

            #line default
            #line hidden
            this.Write(".Backend.Models;\r\nusing ");

            #line 11 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(model.Id));

            #line default
            #line hidden
            this.Write(".Backend.Auth;\r\n\r\nnamespace ");

            #line 13 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(model.Id));

            #line default
            #line hidden
            this.Write(".Backend\r\n{\r\n    public partial class Startup\r\n    {\r\n\t\tprivate const string Secr" +
                       "etKey = \"iNivDmHLpUA223sqsfhqGbMRdRj1PVkH\"; // todo: get this from somewhere sec" +
                       "ure\r\n\t\tprivate readonly SymmetricSecurityKey _signingKey = new SymmetricSecurity" +
                       "Key(Encoding.ASCII.GetBytes(SecretKey));\r\n\r\n\t\tpublic void ConfigureAuth(IService" +
                       "Collection services)\r\n        {\r\n\t\t   services.AddTransient<IJwtFactory, JwtFact" +
                       "ory>();\r\n\r\n           services.AddIdentity<ApplicationUser, IdentityRole>()\r\n   " +
                       "             .AddEntityFrameworkStores<ApplicationDbContext>()\r\n                " +
                       ".AddDefaultTokenProviders();\r\n\r\n\t\t\tvar jwtSettingOptions = Configuration.GetSect" +
                       "ion(nameof(JwtIssuerOptions));\r\n\t\t\t\r\n\t\t\t// Configure JwtIssuerOptions\r\n\t\t\tservic" +
                       "es.Configure<JwtIssuerOptions>(options =>\r\n\t\t\t{\r\n\t\t\t\toptions.Issuer = jwtSetting" +
                       "Options[nameof(JwtIssuerOptions.Issuer)];\r\n\t\t\t\toptions.Audience = jwtSettingOpti" +
                       "ons[nameof(JwtIssuerOptions.Audience)];\r\n\t\t\t\toptions.SigningCredentials = new Si" +
                       "gningCredentials(_signingKey, SecurityAlgorithms.HmacSha256);\r\n\t\t\t});\r\n\r\n\t\t\t// G" +
                       "et options from app settings\r\n\t\t\tvar authSettings = Configuration.GetSection(nam" +
                       "eof(AuthSettings));\r\n\r\n\t\t\t// Configure AuthSettings\r\n\t\t\tservices.Configure<AuthS" +
                       "ettings>(options =>\r\n\t\t\t{\r\n\t\t\t\toptions.FacebookAppId = authSettings[nameof(AuthS" +
                       "ettings.FacebookAppId)];\r\n\t\t\t\toptions.FacebookAppSecret = authSettings[nameof(Au" +
                       "thSettings.FacebookAppSecret)];\r\n\t\t\t});\r\n\r\n\t\t\tvar tokenValidationParameters = ne" +
                       "w TokenValidationParameters\r\n\t\t\t{\r\n\t\t\t\tValidateIssuer = true,\r\n\t\t\t\tValidIssuer =" +
                       " jwtSettingOptions[nameof(JwtIssuerOptions.Issuer)],\r\n\r\n\t\t\t\tValidateAudience = t" +
                       "rue,\r\n\t\t\t\tValidAudience = jwtSettingOptions[nameof(JwtIssuerOptions.Audience)],\r" +
                       "\n\r\n\t\t\t\tValidateIssuerSigningKey = true,\r\n\t\t\t\tIssuerSigningKey = _signingKey,\r\n\r\n" +
                       "\t\t\t\tRequireExpirationTime = false,\r\n\t\t\t\tValidateLifetime = true,\r\n\t\t\t\tClockSkew " +
                       "= TimeSpan.Zero\r\n\t\t\t};\r\n\r\n");

            #line 64 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"

            if (AuthenticationKeys != null)
            {
            #line default
            #line hidden
                this.Write(@"            services.AddAuthentication(options =>
			{
				options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
				options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
			}).AddCookie(cfg => cfg.SlidingExpiration = true)
			.AddJwtBearer(configureOptions =>
			{
				configureOptions.ClaimsIssuer = jwtSettingOptions[nameof(JwtIssuerOptions.Issuer)];
				configureOptions.TokenValidationParameters = tokenValidationParameters;
				configureOptions.SaveToken = true;
			})"            );

            #line 78 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                if (AuthenticationKeys.ContainsKey("FacebookAuthConsumerKey") && AuthenticationKeys.ContainsKey("FacebookAuthConsumerSecret"))
                {
            #line default
            #line hidden
                    this.Write("\t\t\t.AddFacebook(facebookOptions =>\r\n\t\t\t{\r\n\t\t\t\tfacebookOptions.AppId = authSetting" +
                               "s[nameof(AuthSettings.FacebookAppId)];\r\n\t\t\t\tfacebookOptions.AppSecret = authSett" +
                               "ings[nameof(AuthSettings.FacebookAppSecret)];\r\n\t\t\t})\r\n\t\t\t");

            #line 84 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                }

            #line default
            #line hidden
                this.Write("\t\t\t");

            #line 85 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                if (AuthenticationKeys.ContainsKey("TwitterAuthAppId") && AuthenticationKeys.ContainsKey("TwitterAuthAppSecret"))
                {
            #line default
            #line hidden
                    this.Write("\t\t\t.AddTwitter(twitterOptions =>\r\n\t\t\t{\r\n\t\t\t\ttwitterOptions.ConsumerKey = \"");

            #line 88 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(AuthenticationKeys["TwitterAuthAppId"]));

            #line default
            #line hidden
                    this.Write("\";\r\n\t\t\t\ttwitterOptions.ConsumerSecret = \"");

            #line 89 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(AuthenticationKeys["TwitterAuthAppSecret"]));

            #line default
            #line hidden
                    this.Write("\";\r\n\t\t\t})\r\n\t\t\t");

            #line 91 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                }

            #line default
            #line hidden
                this.Write("\t\t\t");

            #line 92 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                if (AuthenticationKeys.ContainsKey("GoogleAuthClientId") && AuthenticationKeys.ContainsKey("GoogleAuthSecret"))
                {
            #line default
            #line hidden
                    this.Write("\t\t\t.AddGoogle(googleOptions =>\r\n\t\t\t{\r\n\t\t\t\tgoogleOptions.ClientId = \"");

            #line 95 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(AuthenticationKeys["GoogleAuthClientId"]));

            #line default
            #line hidden
                    this.Write("\";\r\n\t\t\t\tgoogleOptions.ClientSecret = \"");

            #line 96 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(AuthenticationKeys["GoogleAuthSecret"]));

            #line default
            #line hidden
                    this.Write("\";\r\n\t\t\t})\r\n\t\t\t");

            #line 98 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                }

            #line default
            #line hidden
                this.Write("\t\t\t");

            #line 99 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                if (AuthenticationKeys.ContainsKey("MicrosoftAuthClientId") && AuthenticationKeys.ContainsKey("MicrosoftAuthSecret"))
                {
            #line default
            #line hidden
                    this.Write("\t\t\tservices.AddAuthentication().AddMicrosoftAccount(microsoftOptions =>\r\n\t\t\t{\r\n\t\t" +
                               "\t\tmicrosoftOptions.ClientId = \"");

            #line 102 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(AuthenticationKeys["MicrosoftAuthClientId"]));

            #line default
            #line hidden
                    this.Write("\";\r\n\t\t\t\tmicrosoftOptions.ClientSecret = \"");

            #line 103 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(AuthenticationKeys["MicrosoftAuthSecret"]));

            #line default
            #line hidden
                    this.Write("\";\r\n\t\t\t})");

            #line 104 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
                }

            #line default
            #line hidden
                this.Write(";\r\n");

            #line 105 "C:\Users\PC\Documents\Gits\ASP.NET-Core-MVC\src\Security\Templates\StartupAuth.tt"
            }


            #line default
            #line hidden
            this.Write(@"			

			services.Configure<IdentityOptions>(options =>
            {
                // Password settings

                // Lockout settings
                options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(30);
                options.Lockout.MaxFailedAccessAttempts = 10;
                options.Lockout.AllowedForNewUsers = true;

                // User settings
                options.User.RequireUniqueEmail = true;
            });

            services.ConfigureApplicationCookie(options =>
            {
                // Cookie settings
                options.Cookie.HttpOnly = true;
                options.Cookie.Expiration = TimeSpan.FromDays(150);
                options.LoginPath = ""/Account/Login""; // If the LoginPath is not set here, ASP.NET Core will default to /Account/Login
                options.LogoutPath = ""/Account/Logout""; // If the LogoutPath is not set here, ASP.NET Core will default to /Account/Logout
                options.AccessDeniedPath = ""/Account/AccessDenied""; // If the AccessDeniedPath is not set here, ASP.NET Core will default to /Account/AccessDenied
                options.SlidingExpiration = true;
            });
        }

        public void ConfigureAuth(IApplicationBuilder app)
        {
            app.UseAuthentication();

            // Add external authentication middleware below. To configure them please see https://go.microsoft.com/fwlink/?LinkID=532715

        }
    }
}");
            return(this.GenerationEnvironment.ToString());
        }