Beispiel #1
0
        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <param name="openId"></param>
        /// <param name="lang"></param>
        /// <returns></returns>
        public UserInfo GetUserInfo(string openId, Language lang)
        {
            //读取用户Access Token
            string accessToken = _cache.Get($"{openId}AccessToken");

            if (!string.IsNullOrEmpty(accessToken))
            {
                //Access Token未过期
                //通过Access Token获取UserInfo
                return(_oAuthInterfaceCaller.GetUserInfo(accessToken, openId, lang));
            }
            else
            {
                //Access Token已过期
                //读取Refresh Token
                string refreshToken = _cache.Get($"{openId}RefreshToken");
                if (!string.IsNullOrWhiteSpace(refreshToken))
                {
                    //Refresh Token未过期
                    //通过Refresh Token刷新Access Token
                    OpenId open = _oAuthInterfaceCaller.RefreshToken(refreshToken);
                    //保存Access Token
                    _cache.Set($"{openId}AccessToken", open.access_token, TimeSpan.FromSeconds(open.expires_in));
                    //保存Refresh Token
                    _cache.Set($"{openId}RefreshToken", open.refresh_token, TimeSpan.FromMinutes(30));
                    //通过Access Token获取UserInfo
                    return(_oAuthInterfaceCaller.GetUserInfo(open.access_token, openId, lang));
                }
                else
                {
                    //Refresh Token已过期
                    throw new RefreshTokenExpiredException("Refresh Token已过期");
                }
            }
        }
        /// <summary>
        /// 获取OpenId
        /// </summary>
        /// <param name="code"></param>
        /// <returns>成功时返回OpenIdResultSuccess,失败时返回OpenIdResultError</returns>
        public dynamic GetOpenId(string code)
        {
            try
            {
                IRestRequest request = new RestRequest("sns/jscode2session", Method.GET);
                request.AddParameter("appid", ConfigurationHelper.AppId);
                request.AddParameter("secret", ConfigurationHelper.AppSecret);
                request.AddParameter("js_code", code);
                request.AddParameter("grant_type", "authorization_code");

                IRestResponse response = _client.Execute(request);
                if (response.Content.Contains("openid"))
                {
                    OpenId result = JsonConvert.DeserializeObject <OpenId>(response.Content);
                    return(result);
                }
                else
                {
                    Error result = JsonConvert.DeserializeObject <Error>(response.Content);
                    return(result);
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                throw ex;
            }
        }
Beispiel #3
0
    public void TransferOrderAndPointsFromTempAccount()
    {
        //string tempOpenId = TempOpenId.Trim();

        DataTable dtOriPoints = DBHelper.GetDataTable(" select * from point_prepare_imported where deal = 0 and cell_number = '" + CellNumber.Trim() + "' ");

        foreach (DataRow drOriPoints in dtOriPoints.Rows)
        {
            try
            {
                int i = DBHelper.InsertData("user_point_balance",
                                            new string[, ] {
                    { "user_open_id", "varchar", OpenId.Trim() }, { "points", "int", drOriPoints["score"].ToString() },
                    { "memo", "varchar", drOriPoints["source"].ToString() }, { "transact_date", "datetime", DateTime.Now.ToShortDateString() }
                },
                                            Util.conStr);
                if (i == 1)
                {
                    DBHelper.UpdateData("point_prepare_imported", new string[, ] {
                        { "deal", "int", "1" }
                    },
                                        new string[, ] {
                        { "id", "int", drOriPoints["id"].ToString() }
                    }, Util.conStr.Trim());
                }
            }
            catch
            {
            }
        }
    }
Beispiel #4
0
        public override JToken ToJToken(ApiVersion version, ResultFormat format)
        {
            var jobj = base.ToJToken(version, format);

            if (Name != null && format != ResultFormat.Ids)
            {
                jobj["name"] = Name;
            }

            if (Mbox != null)
            {
                jobj["mbox"] = Mbox.ToString();
            }

            if (Mbox_SHA1SUM != null)
            {
                jobj["mbox_sha1sum"] = Mbox_SHA1SUM;
            }

            if (OpenId != null)
            {
                jobj["openid"] = OpenId.ToString();
            }

            if (Account != null)
            {
                jobj["account"] = Account.ToJToken(version, format);
            }

            return(jobj);
        }
Beispiel #5
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (OpenId.Length != 0)
            {
                hash ^= OpenId.GetHashCode();
            }
            if (ProductId.Length != 0)
            {
                hash ^= ProductId.GetHashCode();
            }
            if (Pf.Length != 0)
            {
                hash ^= Pf.GetHashCode();
            }
            if (Channel.Length != 0)
            {
                hash ^= Channel.GetHashCode();
            }
            if (ChannelUid.Length != 0)
            {
                hash ^= ChannelUid.GetHashCode();
            }
            if (AccessToken.Length != 0)
            {
                hash ^= AccessToken.GetHashCode();
            }
            if (ChannelId.Length != 0)
            {
                hash ^= ChannelId.GetHashCode();
            }
            if (Version.Length != 0)
            {
                hash ^= Version.GetHashCode();
            }
            if (PhoneType.Length != 0)
            {
                hash ^= PhoneType.GetHashCode();
            }
            if (Idfa.Length != 0)
            {
                hash ^= Idfa.GetHashCode();
            }
            if (Idfv.Length != 0)
            {
                hash ^= Idfv.GetHashCode();
            }
            if (Imei.Length != 0)
            {
                hash ^= Imei.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Beispiel #6
0
 public override int GetHashCode()
 {
     unchecked
     {
         int result = (OpenId != null ? OpenId.GetHashCode() : 0);
         result = (result * 397) ^ (UserName != null ? UserName.GetHashCode() : 0);
         result = (result * 397) ^ (Email != null ? Email.GetHashCode() : 0);
         return(result);
     }
 }
        public ActionResult Register(User user, string identifier, string returnUrl, bool rememberMe)
        {
            //The registration form has been submitted
            try
            {
                if (ModelState.IsValid)
                {
                    OpenId openid = new OpenId
                    {
                        OpenIdUrl = identifier,
                        User      = user
                    };

                    users.AddOpenId(openid);
                    users.SaveChanges();

                    // Now let's login out user to out application
                    IssueFormsAuthenticationTicket(user, rememberMe);

                    // We're done, let's get back to where we started from.
                    if (string.IsNullOrEmpty(returnUrl))
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        return(Redirect(returnUrl));
                    }
                }

                var registrationModel = new RegistrationViewModel(identifier)
                {
                    Username  = user.Username,
                    Email     = user.Email,
                    FullName  = user.FullName,
                    ReturnUrl = returnUrl
                };

                return(View(registrationModel));
            }
            catch
            {
                var registrationModel = new RegistrationViewModel(identifier)
                {
                    Username  = user.Username,
                    Email     = user.Email,
                    FullName  = user.FullName,
                    ReturnUrl = returnUrl
                };

                return(View(registrationModel));
            }
        }
Beispiel #8
0
        /// <summary>
        /// 获取OpenId
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public string GetOpenId(string code)
        {
            //通过code获取OpenId
            OpenId openId = _oAuthInterfaceCaller.GetOpenId(code);

            //保存用户Access Token
            _cache.Set($"{openId.openid}AccessToken", openId.access_token, TimeSpan.FromSeconds(openId.expires_in));
            //保存Refresh Token
            _cache.Set($"{openId.openid}RefreshToken", openId.refresh_token, TimeSpan.FromDays(30));

            return(openId.openid);
        }
        private ActionResult HandleOpenId(string oid)
        {
            try
            {
                var identity = new OpenId().ProcessOpenId(oid);
                if (identity == null)
                {
                    return(new EmptyResult());
                }

                return(CompleteSignIn(identity));
            }
            catch (Exception ex)
            {
                return(ErrorOut(ex.Message));
            }
        }
Beispiel #10
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (OpenId.Length != 0)
            {
                hash ^= OpenId.GetHashCode();
            }
            if (Name.Length != 0)
            {
                hash ^= Name.GetHashCode();
            }
            if (Figure != 0)
            {
                hash ^= Figure.GetHashCode();
            }
            return(hash);
        }
        private void TreeViewEx_Load(object sender, EventArgs e)
        {
            try
            {
                InitComponent();
                if (!OpenId.IsNullOrEmpty())
                {
                    var node = treeView.Nodes.Find(OpenId, true).FirstOrDefault();
                    if (node != null)
                    {
                        treeView.SelectedNode = node;
                    }
                }
            }

            catch (Exception ex)
            {
                throw new ArgumentException("\n>> " + GetType().FullName + "." + "AddNodes Error: " + ex.Message);
            }
        }
        public void SetTextByCulture()
        {
            try
            {
                InitComponent();
                if (!OpenId.IsNullOrEmpty())
                {
                    var node = treeView.Nodes.Find(OpenId, true).FirstOrDefault();
                    if (node != null)
                    {
                        treeView.SelectedNode = node;
                    }
                }
            }

            catch (Exception ex)
            {
                throw new ArgumentException("\n>> " + GetType().FullName + "." + "SetTextByCulture Error: " + ex.Message);
            }
        }
Beispiel #13
0
        /// <summary>
        /// Adds Agent to Person object
        /// </summary>
        /// <param name="agent">Agent Object with a single identifier, It is not a Person Object, nor is it a Group.</param>
        public void Add(Agent agent)
        {
            if (agent == null)
            {
                throw new ArgumentNullException("agent");
            }

            if (agent.ObjectType == Data.ObjectType.Group)
            {
                throw new ArgumentException("Groups are not allowed within an Person Object.");
            }
            if (agent.Name != null)
            {
                Name.Add(agent.Name);
            }
            if (agent.Account != null)
            {
                Account.Add(agent.Account);
                return;
            }

            if (agent.Mbox != null)
            {
                Mbox.Add(agent.Mbox);
                return;
            }

            if (!string.IsNullOrWhiteSpace(agent.Mbox_SHA1SUM))
            {
                Mbox_sha1sum.Add(agent.Mbox_SHA1SUM);
                return;
            }

            if (agent.OpenId != null)
            {
                OpenId.Add(agent.OpenId);
                return;
            }
        }