Exemplo n.º 1
0
 /// <summary>
 ///  获取注册相关配置
 /// </summary>
 /// <para name="info">应用信息</para>
 /// <returns></returns>
 private static UserRegisteConfig GetRegConfig(AppAuthorizeInfo info)
 {
     return(new UserRegisteConfig()
     {
         OauthRegisteType = OauthRegisteType.JustRegiste
     });
 }
Exemplo n.º 2
0
        public static void SysAuth()
        {
            string           key     = Guid.NewGuid().ToString().Replace("-", string.Empty);
            AppAuthorizeInfo appInfo = new AppAuthorizeInfo();

            appInfo.FromSignData("timespan=1434372013;appsource=1;appclient=1;token=SeBCjJYRkujxEsgv9XupyHY7aMkdQuQcqGMu0wQMbhw=;appversion=1.0;");

            var newSignData = appInfo.ToSignData(key);

            appInfo.FromSignData(newSignData);
            var result = appInfo.CheckSign(key);
        }
Exemplo n.º 3
0
        private static void SetSystemAuthorizeInfo(AppAuthorizeInfo sysInfo, ActionContext context)
        {
            sysInfo.AppSource  = _appSource;
            sysInfo.AppVersion = _appVersion;

            if (string.IsNullOrEmpty(sysInfo.IpAddress))
            {
                sysInfo.IpAddress = GetIpAddress(context.HttpContext);
            }

            // todo  设置浏览器等值
        }
Exemplo n.º 4
0
        public void SysAuth()
        {
            var key = Guid.NewGuid().ToString().Replace("-", string.Empty);

            var appInfo = new AppAuthorizeInfo
            {
                DeviceId  = "mmnsnd",
                IpAddress = "127.0.0.1"
            };

            var newSignData = appInfo.ToTicket("app_hlgu80900p0", "1.0", key, "ext");

            appInfo.FromTicket(newSignData);

            Assert.IsTrue(appInfo.CheckSign(key, 60, "ext").IsSuccess());
        }
Exemplo n.º 5
0
        public async Task Invoke(HttpContext context)
        {
            if (MemberShiper.AppAuthorize != null)
            {
                await _next.Invoke(context);

                return;
            }

            AppAuthorizeInfo sysInfo = null;

            //  这里是为了兼容App内部嵌套h5页面,使用App的授权信息
            string auticketStr = context.Request.Headers[GlobalKeysUtil.AuthorizeTicketName];

            if (!string.IsNullOrEmpty(auticketStr))
            {
                sysInfo = new AppAuthorizeInfo();
                sysInfo.FromSignData(auticketStr);
            }

            //  如果不是App访问,添加Web相关系统信息
            if (sysInfo == null)
            {
                sysInfo = new AppAuthorizeInfo
                {
                    Token    = context.Request.Cookies[GlobalKeysUtil.UserCookieName],
                    DeviceId = "WEB"
                };
                // todo 给 webbrowser 赋值
            }

            sysInfo.AppVersion = _appVersion;
            sysInfo.AppSource  = _appSource;

            if (string.IsNullOrEmpty(sysInfo.IpAddress))
            {
                sysInfo.IpAddress = GetIpAddress(context);
            }

            MemberShiper.SetAppAuthrizeInfo(sysInfo);
            await _next.Invoke(context);
        }
Exemplo n.º 6
0
        public void SysAuth()
        {
            var key = Guid.NewGuid().ToString().Replace("-", string.Empty);

            var appInfo = new AppAuthorizeInfo
            {
                AppClient  = AppClientType.Android,
                AppSource  = "mmmmm",
                AppVersion = "1.0.1",
                DeviceId   = "mmnsnd",
                Token      = "SeBCjJYRkujxEsgv9XupyHY7aMkdQuQcqGMu0wQMbhw=",
                IpAddress  = "127.0.0.1"
            };

            var newSignData = appInfo.ToTicket(key);

            appInfo.FromTicket(newSignData);

            var result = appInfo.CheckSign(key);
        }
Exemplo n.º 7
0
        public void OnAuthorization(AuthorizationFilterContext context)
        {
            AppAuthorizeInfo sysInfo = null;
            var checkSign            = !context.Filters.Any(filter => filter is AllowNoSignAttribute);

            if (checkSign)
            {
                string auticketStr = context.HttpContext.Request.Headers[GlobalKeysUtil.AuthorizeTicketName];
                if (string.IsNullOrEmpty(auticketStr))
                {
                    context.Result = new JsonResult(new ResultMo(ResultTypes.UnKnowSource, "未知应用来源"));
                    return;
                }

                sysInfo = new AppAuthorizeInfo();
                sysInfo.FromTicket(auticketStr);

                var secretKeyRes = ApiSourceKeyUtil.GetAppSecretKey(sysInfo.AppSource, sysInfo.TenantId);
                if (!secretKeyRes.IsSuccess())
                {
                    context.Result = new JsonResult(secretKeyRes);
                    return;
                }

                if (!sysInfo.CheckSign(secretKeyRes.data))
                {
                    context.Result = new JsonResult(new ResultMo(ResultTypes.ParaError, "非法应用签名!"));
                    return;
                }
            }

            if (sysInfo == null)
            {
                sysInfo = new AppAuthorizeInfo();
            }

            SetSystemAuthorizeInfo(sysInfo, context);
            MemberShiper.SetAppAuthrizeInfo(sysInfo);
        }
Exemplo n.º 8
0
 public static void TriggerUserRegiteEvent(UserInfoBigMo arg1, AppAuthorizeInfo arg2)
 {
     // todo  推送注册消息
 }
Exemplo n.º 9
0
 public static void TriggerUserLoginEvent(UserInfoBigMo arg1, AppAuthorizeInfo arg2)
 {
     // todo  推送登录消息
 }
Exemplo n.º 10
0
 /// <summary>
 ///  设置上下文方法
 /// </summary>
 public void SetCOntextConfig(AppAuthorizeInfo appInfo)
 {
     // todo 多租户配置设置
     // WxOauthConfigProvider.SetContextConfig(config);
 }
Exemplo n.º 11
0
 /// <summary>
 /// 设置上下文配置信息
 /// </summary>
 public virtual void SetCOntextConfig(AppAuthorizeInfo appInfo)
 {
 }