Exemplo n.º 1
0
        private async Task RegisterUserCredential(HttpRequest request)
        {
            if (!request.Headers.ContainsKey("X-MS-TOKEN-AAD-ID-TOKEN"))
            {
                return;
            }

            var idToken = request.Headers["X-MS-TOKEN-AAD-ID-TOKEN"].FirstOrDefault();

            var client  = new HttpClient();
            var expando = new System.Dynamic.ExpandoObject();
            var dict    = new Microsoft.AspNetCore.Routing.RouteValueDictionary(new
            {
                grant_type          = "urn:ietf:params:oauth:grant-type:jwt-bearer",
                client_id           = Environment.GetEnvironmentVariable("CLIENT_ID", EnvironmentVariableTarget.Process),
                client_secret       = Environment.GetEnvironmentVariable("CLIENT_SECRET", EnvironmentVariableTarget.Process),
                assertion           = request.Headers["X-MS-TOKEN-AAD-ID-TOKEN"].FirstOrDefault(),
                resource            = "https://management.core.windows.net",
                requested_token_use = "on_behalf_of"
            });

            var result = await client.PostAsync("https://login.microsoftonline.com/" +
                                                Environment.GetEnvironmentVariable("TENANT_ID", EnvironmentVariableTarget.Process) +
                                                "/oauth2/token",
                                                new FormUrlEncodedContent(dict.ToDictionary(k => k.Key, v => v.Value as string).ToList()));

            var resultObj = JsonConvert.DeserializeObject <TokenExchangeResponse>(
                await result.Content.ReadAsStringAsync());

            CredentialProvider.Register(
                MultiCredentialProvider.CredentialType.UserCredential,
                resultObj.AccessToken,
                resultObj.ExpiresOnDateTime);
        }
Exemplo n.º 2
0
        }         // End Sub InitializeHashSet

        bool Microsoft.AspNetCore.Routing.IRouteConstraint.Match(
            Microsoft.AspNetCore.Http.HttpContext httpContext
            , Microsoft.AspNetCore.Routing.IRouter route
            , string routeKey
            , Microsoft.AspNetCore.Routing.RouteValueDictionary values
            , Microsoft.AspNetCore.Routing.RouteDirection routeDirection)
        {
            if (routeDirection != Microsoft.AspNetCore.Routing.RouteDirection.IncomingRequest)
            {
                return(false);
            }

            if (s_tables == null)
            {
                InitializeHashSet(httpContext.RequestServices);
            } // End if (s_tables == null)

            // object value = values[routeKey];

            object value;

            if (values.TryGetValue(routeKey, out value) && value != null)
            {
                return(s_tables.Contains(value.ToString()));
            }

            return(false);
        } // End Function IRouteConstraint.Match
Exemplo n.º 3
0
        public Microsoft.AspNetCore.Routing.RouteValueDictionary GetRouteData()
        {
            var routeData = new Microsoft.AspNetCore.Routing.RouteValueDictionary(GetParameters());

            routeData.Add("controller", Controller);
            routeData.Add("action", Action);
            return(routeData);
        }
Exemplo n.º 4
0
 bool Microsoft.AspNetCore.Routing.IRouteConstraint.Match(
     Microsoft.AspNetCore.Http.HttpContext httpContext
     , Microsoft.AspNetCore.Routing.IRouter route
     , string routeKey
     , Microsoft.AspNetCore.Routing.RouteValueDictionary values
     , Microsoft.AspNetCore.Routing.RouteDirection routeDirection)
 {
     throw new System.NotImplementedException();
 } // End Function Match
Exemplo n.º 5
0
        /// <summary>
        /// https://stackoverflow.com/questions/5120317/dynamic-anonymous-type-in-razor-causes-runtimebinderexception
        /// </summary>
        /// <param name="anonymousObject"></param>
        /// <returns></returns>
        public static ExpandoObject ToExpando(this object anonymousObject)
        {
            IDictionary <string, object> anonymousDictionary = new Microsoft.AspNetCore.Routing.RouteValueDictionary(anonymousObject);
            IDictionary <string, object> expando             = new ExpandoObject();

            foreach (var item in anonymousDictionary)
            {
                expando.Add(item);
            }

            return((ExpandoObject)expando);
        }
        protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, LinkedToOrganizationRequirement requirement)
        {
            Microsoft.AspNetCore.Routing.RouteValueDictionary routeValues = ((Microsoft.AspNetCore.Mvc.ActionContext)context.Resource).RouteData.Values;

            long organizationId;

            if (context.TryGetRouteValue("organizationId", out organizationId) && UserLinkedToOrganization(context, organizationId))
            {
                context.Succeed(requirement);
            }

            return(Task.CompletedTask);
        }
        public void OnPageHandlerExecuting(PageHandlerExecutingContext context)
        {
            if (!context.HttpContext.Session.SessionExists(SessionKeys.SessionKey(SessionKeys.UserLoginModel)))
            {
                var result  = new RedirectToPageResult("/account/login");
                var request = context.HttpContext.Request;
                var url     = context.HttpContext.Request.Path + context.HttpContext.Request.QueryString.Value;
                var query   = context.HttpContext.Request.Query;
                var dict    = new Microsoft.AspNetCore.Routing.RouteValueDictionary(new { returnUrl = url });
                //foreach (var item in query.Keys)
                //{
                //    dict.Add(item, query[item]);
                //}

                result.RouteValues = dict;
                context.Result     = result;
            }
        }
        public static bool TryGetRouteValue <T>(this AuthorizationHandlerContext context, string key, out T value)
        {
            Microsoft.AspNetCore.Routing.RouteValueDictionary routeValues = ((Microsoft.AspNetCore.Mvc.ActionContext)context.Resource).RouteData.Values;

            object returnValue;

            if (routeValues.TryGetValue(key, out returnValue))
            {
                value = (T)System.Convert.ChangeType(returnValue, typeof(T));

                return(true);
            }
            else
            {
                value = default(T);

                return(false);
            }
        }
Exemplo n.º 9
0
        bool Microsoft.AspNetCore.Routing.IRouteConstraint.Match(
            Microsoft.AspNetCore.Http.HttpContext httpContext
            , Microsoft.AspNetCore.Routing.IRouter route
            , string routeKey
            , Microsoft.AspNetCore.Routing.RouteValueDictionary values
            , Microsoft.AspNetCore.Routing.RouteDirection routeDirection)
        {
            // You can also try Enum.IsDefined,
            // but docs say nothing as to if it is case sensitive or not.

            string[] colors = System.Enum.GetNames(typeof(System.Drawing.KnownColor));
            string   key    = System.Convert.ToString(values[routeKey]);

            foreach (string thisColor in colors)
            {
                if (System.StringComparer.InvariantCultureIgnoreCase.Equals(
                        thisColor, key))
                {
                    return(true);
                }
            } // Next thisColor

            return(false);
        } // End Function IRouteConstraint.Match
Exemplo n.º 10
0
 public abstract string GetPathByAddress <TAddress>(Microsoft.AspNetCore.Http.HttpContext httpContext, TAddress address, Microsoft.AspNetCore.Routing.RouteValueDictionary values, Microsoft.AspNetCore.Routing.RouteValueDictionary ambientValues = default(Microsoft.AspNetCore.Routing.RouteValueDictionary), Microsoft.AspNetCore.Http.PathString?pathBase = default(Microsoft.AspNetCore.Http.PathString?), Microsoft.AspNetCore.Http.FragmentString fragment = default(Microsoft.AspNetCore.Http.FragmentString), Microsoft.AspNetCore.Routing.LinkOptions options = default(Microsoft.AspNetCore.Routing.LinkOptions));
Exemplo n.º 11
0
 public Enumerator(Microsoft.AspNetCore.Routing.RouteValueDictionary dictionary)
 {
     throw null;
 }
 public RouteDataSnapshot(Microsoft.AspNetCore.Routing.RouteData routeData, Microsoft.AspNetCore.Routing.RouteValueDictionary dataTokens, System.Collections.Generic.IList <Microsoft.AspNetCore.Routing.IRouter> routers, Microsoft.AspNetCore.Routing.RouteValueDictionary values)
 {
     throw null;
 }
 public Microsoft.AspNetCore.Routing.RouteData.RouteDataSnapshot PushState(Microsoft.AspNetCore.Routing.IRouter router, Microsoft.AspNetCore.Routing.RouteValueDictionary values, Microsoft.AspNetCore.Routing.RouteValueDictionary dataTokens)
 {
     throw null;
 }
 public VirtualPathData(Microsoft.AspNetCore.Routing.IRouter router, string virtualPath, Microsoft.AspNetCore.Routing.RouteValueDictionary dataTokens)
 {
 }
 public VirtualPathContext(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Routing.RouteValueDictionary ambientValues, Microsoft.AspNetCore.Routing.RouteValueDictionary values, string routeName)
 {
 }
Exemplo n.º 16
0
        protected void Log(string message, Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.AspNetCore.Routing.RouteValueDictionary routeValueDictionary)
        {
            string actionName     = routeValueDictionary.FirstOrDefault(x => x.Key == "action").Value.ToString();
            string controllerName = routeValueDictionary.FirstOrDefault(x => x.Key == "controller").Value.ToString();

            Log(message, logLevel, controllerName, actionName);
        }
 public RouteData(Microsoft.AspNetCore.Routing.RouteValueDictionary values)
 {
 }
 public abstract string GetUriByAddress <TAddress>(TAddress address, Microsoft.AspNetCore.Routing.RouteValueDictionary values, string scheme, Microsoft.AspNetCore.Http.HostString host, Microsoft.AspNetCore.Http.PathString pathBase            = default(Microsoft.AspNetCore.Http.PathString), Microsoft.AspNetCore.Http.FragmentString fragment = default(Microsoft.AspNetCore.Http.FragmentString), Microsoft.AspNetCore.Routing.LinkOptions?options = null);
 public abstract string GetUriByAddress <TAddress>(Microsoft.AspNetCore.Http.HttpContext httpContext, TAddress address, Microsoft.AspNetCore.Routing.RouteValueDictionary values, Microsoft.AspNetCore.Routing.RouteValueDictionary?ambientValues = null, string?scheme          = null, Microsoft.AspNetCore.Http.HostString?host = default(Microsoft.AspNetCore.Http.HostString?), Microsoft.AspNetCore.Http.PathString?pathBase = default(Microsoft.AspNetCore.Http.PathString?), Microsoft.AspNetCore.Http.FragmentString fragment = default(Microsoft.AspNetCore.Http.FragmentString), Microsoft.AspNetCore.Routing.LinkOptions?options = null);