Example #1
0
        public OauthUser GetOUserInfo(string code, string state)
        {
            RequestExtension res = new RequestExtension();
            //获取AccessToken
            string getAccessTokenUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appId +
                                       "&secret=" + appSecret + "&code=" + code + "&grant_type=authorization_code";
            string         getAccessTokenReponse = res.GetInfo(getAccessTokenUrl);
            WeiXinResponse modeAccessToken       = JsonConvert.DeserializeObject <WeiXinResponse>(getAccessTokenReponse);

            //获取用户信息
            string getUserInfoUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=" + modeAccessToken.access_token
                                    + "&openid=" + modeAccessToken.openid + "&lang=zh_CN";
            string getUserInfoReponse = res.GetInfo(getUserInfoUrl);

            OauthUser oauthUser = new OauthUser
            {
                UserData     = getUserInfoReponse,
                OpenId       = modeAccessToken.openid,
                ExpiresIn    = modeAccessToken.expires_in,
                RefreshToken = modeAccessToken.refresh_token,
                Scope        = modeAccessToken.scope,
                AccessToken  = modeAccessToken.access_token
            };

            return(oauthUser);
        }
Example #2
0
        public override async Task <bool> AddOauthUserAsync(OauthUser oauthUser)
        {
            string sql = "insert into `oauthuser`(UserId,GitHub_login,`GitHub_id`) VALUES(@UserId,@GitHub_login,@GitHub_id) ";

            using (var connect = CreateConnection())
            {
                return(await connect.ExecuteAsync(sql, new { UserId = oauthUser.UserId, GitHub_login = oauthUser.LoginID, GitHub_id = oauthUser.Id }) > 0);
            }
        }
Example #3
0
        public int OauthReg(OauthUser oauthUser)
        {
            OauthUserData oUserData = JsonConvert.DeserializeObject <OauthUserData>(oauthUser.UserData);
            UserInfo      userInfo  = new UserInfo()
            {
                UserName    = oUserData.nickname,
                UserSex     = oUserData.sex == 1 ? true : false,
                UserAddress = oUserData.country + oUserData.city,
                UserPwd     = "123456".GetMd5Hash(),
                StatuId     = 1,
                TypeId      = 1,
                ImageId     = 1,
                OpenId      = oauthUser.OpenId// 没有做外健
            };

            return(userInfoServer.Insert(userInfo));
        }
Example #4
0
        /// <summary>
        ///  通过从社交平台拿回来信息重新赋值
        /// </summary>
        /// <param name="target"></param>
        /// <param name="source"></param>
        public static void SetInfoFromSocial(this OauthUserMo target, OauthUser source)
        {
            var appInfo = AppReqContext.Identity;

            target.access_token  = source.access_token;
            target.expire_date   = source.expire_date;
            target.refresh_token = source.refresh_token;
            target.social_plat   = source.social_plat.ToSocialPlat();

            target.head_img     = source.head_img;
            target.app_union_id = source.app_union_id;
            target.nick_name    = source.nick_name;
            target.sex          = source.sex.ToSexType();

            target.app_user_id = source.app_user_id;
            target.add_time    = DateTime.Now.ToUtcSeconds();
        }
Example #5
0
        /// <summary>
        ///     转化到授权实体
        /// </summary>
        /// <param name="wxMo"></param>
        /// <returns></returns>
        public static Resp <OauthUser> ConvertToComMo(this WXGetOauthUserResp wxMo)
        {
            if (!wxMo.IsSuccess())
            {
                return(new Resp <OauthUser>().WithResp(wxMo));
            }

            var comMo = new OauthUser
            {
                app_user_id  = wxMo.openid,
                app_union_id = wxMo.unionid,
                sex          = (OauthSexType)wxMo.sex,
                nick_name    = wxMo.nickname,
                social_plat  = OauthPlatform.WeChat,

                head_img = wxMo.headimgurl
            };

            return(new Resp <OauthUser>(comMo));
        }
Example #6
0
 /// <summary>
 /// 添加第三方认证用户信息
 /// </summary>
 /// <param name="userDto"></param>
 /// <returns></returns>
 public virtual async Task <bool> AddOauthUserAsync(OauthUser oauthUser)
 {
     return(false);
 }
Example #7
0
 public int Insert(OauthUser oauthUser)
 {
     return(oauthServer.Insert(oauthUser));
 }
Example #8
0
 /// <summary>
 /// 返回数据库中与有的OauthUser
 /// </summary>
 /// <param name="oauthUser">第三方认证所取得的用户信息</param>
 /// <returns></returns>
 public OauthUser OautheCheck(OauthUser oauthUser)
 {
     return(oauthServer.GetWithOpenId(oauthUser.OpenId));
 }