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