示例#1
0
        protected override User GetUser(HttpContextBase context)
        {
            string signedRequestValue = context.Request["signed_request"];

            try
            {
                ValidateSignedRequest(signedRequestValue);
            }
            catch (Exception ex)
            {
                _errorLogger.Log(ex);
                return(null);
            }

            SignedRequest signedRequest = _facebookClient.ParseSignedRequest(signedRequestValue);

            User user = _userService.GetUser(signedRequest.UserId);

            if (user == null)
            {
                user = new User {
                    FacebookUserId = signedRequest.UserId
                };
            }

            user.AccessToken   = signedRequest.AccessToken;
            user.SignedRequest = signedRequestValue;

            return(user);
        }
示例#2
0
        private User GetUser(HttpContextBase context)
        {
            string signedRequestValue = context.Request["signed_request"];

            try
            {
                ValidateSignedRequest(signedRequestValue);
            }
            catch (Exception ex)
            {
                //_errorLogger.Log(ex);
                return(null);
            }

            // parse the signed request
            SignedRequest signedRequest = _facebookClient.ParseSignedRequest(signedRequestValue);

            // get the user
            User user = _userService.GetUser(signedRequest.UserId);

            if (user == null)
            {
                user = new User {
                    FacebookUserId = signedRequest.UserId
                };
            }

            // update access token and signed request
            user.AccessToken   = signedRequest.AccessToken;
            user.SignedRequest = signedRequestValue;

            return(user);
        }
示例#3
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            HttpContextBase      context            = filterContext.HttpContext;
            string               signedRequestValue = context.Request["signed_request"];
            HttpSessionStateBase session            = context.Session;

            if (session[_userSettingsKey] == null && !String.IsNullOrEmpty(signedRequestValue))
            {
                SignedRequest signedRequest = _facebookClient.ParseSignedRequest(signedRequestValue);

                User user = _userService.GetUser(signedRequest.UserId);
                if (user == null)
                {
                    user = new User {
                        FacebookUserId = signedRequest.UserId
                    };
                }

                user.AccessToken   = signedRequest.AccessToken;
                user.SignedRequest = signedRequestValue;

                session[_userSettingsKey] = user;
            }
        }