Example #1
0
        public void Run(string code, PerformContext context)
        {
            context.WriteLine("开始处理新增和更新代理授权【Code: {0}】...", code);
            var authInfo = ComponentApi.GetAuthInfo(_componentAccessToken, _componentAppId, code);

            if (authInfo.ErrCode == 0)
            {
                _redis.StringSet(CacheKey.UserAccessTokenPrefix + authInfo.AuthorizationInfo.AuthorizerAppId, authInfo.AuthorizationInfo.AuthorizerAccessToken, new TimeSpan(0, 0, authInfo.AuthorizationInfo.ExpiresIn));
                _redis.StringSet(CacheKey.UserRefreshTokenPrefix + authInfo.AuthorizationInfo.AuthorizerAppId, authInfo.AuthorizationInfo.AuthorizerRefreshToken);
                var now     = (DateTime.UtcNow.Ticks - 621355968000000000) / 10000000;
                var message = new UserMessageRequsetXml("<xml></xml>")
                {
                    AppId        = authInfo.AuthorizationInfo.AuthorizerAppId,
                    MsgType      = "event",
                    Event        = "authorized",
                    FromUserName = authInfo.AuthorizationInfo.AuthorizerAppId,
                    EventKey     = code,
                    CreateTime   = (int)now
                };
                _event.Enqueue(message);
                context.WriteLine("创建授权事件到推送...");
                context.WriteLine("处理新增和更新代理授权【{0}】完毕...", authInfo.AuthorizationInfo.AuthorizerAppId);
            }
            else
            {
                context.WriteLine("处理新增和更新代理授权【{0}】错误:{1}...", authInfo.AuthorizationInfo.AuthorizerAppId, authInfo.ErrMsg);
                throw new ServiceException(authInfo.ErrCode, authInfo.ErrMsg);
            }
        }
Example #2
0
        public void Run(string appId, PerformContext context)
        {
            context.WriteLine("开始清理代理授权【{0}】...", appId);
            _redis.KeyDelete(CacheKey.UserAccessTokenPrefix + appId);
            context.WriteLine("清理AccessToken完毕...");
            _redis.KeyDelete(CacheKey.UserRefreshTokenPrefix + appId);
            context.WriteLine("清理RefreshToken完毕...");
            var now     = (DateTime.UtcNow.Ticks - 621355968000000000) / 10000000;
            var message = new UserMessageRequsetXml("<xml></xml>")
            {
                AppId        = appId,
                MsgType      = "event",
                Event        = "unauthorized",
                FromUserName = appId,
                EventKey     = "unauthorized",
                CreateTime   = (int)now
            };

            _event.Enqueue(message);
            context.WriteLine("创建取消授权事件...");
            context.WriteLine("清理代理授权【{0}】完毕...", appId);
        }