//----------------------------------------------------------------------------- public override OAuthUserProfile GetUserProfile(AccessToken accessToken) { JsonObject user = OAuthClient.Init(this.UserProfileUrl, accessToken.Token, HttpMethod.Get) .AddParam(createParams(accessToken, "")) .RunJson() .GetJson("data"); if (user == null) { logger.Error("无法获取正常 user profile"); return(null); } // 头像 String picUrl = user.Get("head"); picUrl = correctPic(picUrl); OAuthUserProfile x = new OAuthUserProfile(); x.Uid = accessToken.Uid; x.Name = user.Get("nick"); x.PicUrlSmall = picUrl; x.PicUrlBig = picUrl; return(x); }
public void testProfile() { // 如果报错 source paramter(appkey) is missing,很有可能是 access token 过期 Console.WriteLine("请按任意键,开始发布……"); Console.ReadLine(); WeiboConnect connect = AuthConnectFactory.GetConnect(typeof(WeiboConnect).FullName) as WeiboConnect; if (connect == null) { throw new Exception("尚未配置"); } AccessToken x = new AccessToken(); x.Token = accessToken; x.Uid = "3214151865"; OAuthUserProfile obj = connect.GetUserProfile(x); Console.WriteLine("id=" + obj.Uid); Console.WriteLine("name=" + obj.Name); // 用户头像(小50×50像素) Console.WriteLine("profile_image_url=" + obj.PicUrlSmall); // 用户头像(大) Console.WriteLine("avatar_large=" + obj.PicUrlBig); Console.WriteLine("domain=" + obj.FriendlyUrl); Console.WriteLine("请按 Enter 键结束……"); Console.ReadLine(); }
public void testProfile() { Console.WriteLine("请按任意键,开始发布……"); Console.ReadLine(); QQWeiboConnect connect = AuthConnectFactory.GetConnect(typeof(QQWeiboConnect).FullName) as QQWeiboConnect; if (connect == null) { throw new Exception("尚未配置"); } AccessToken x = new AccessToken(); x.Token = accessToken; x.Uid = openId; OAuthUserProfile obj = connect.GetUserProfile(x); Console.WriteLine("id=" + obj.Uid); Console.WriteLine("name=" + obj.Name); // 用户头像(小50×50像素) Console.WriteLine("profile_image_url=" + obj.PicUrlSmall); // 用户头像(大) Console.WriteLine("avatar_large=" + obj.PicUrlBig); Console.WriteLine("domain=" + obj.FriendlyUrl); Console.WriteLine("请按 Enter 键结束……"); Console.ReadLine(); }
private void processBind(AuthConnect connect, String code) { if (ctx.viewer.IsLogin == false) { echoError("对不起,请先登录"); return; } // 检查是否绑定过 if (connectService.HasBind(ctx.viewer.Id, connect.GetType().FullName)) { echoError("对不起,已经绑定"); return; } // 获取用户 uid AccessToken x = OAuthClient.New().GetAccessToken(connect, code, connect.HttpMethod_AccessToken); x.Uid = connect.GetUid(x); // 获取用户名称 OAuthUserProfile userProfile = null; try { userProfile = connect.GetUserProfile(x); } catch (HttpClientException ex) { if (ex.Message.IndexOf("applications over the unaudited use restrictions") > 0) { echo(getTestRestrictionsMsg("绑定")); return; } else { throw ex; } } x.Name = userProfile.Name; Result result = connectService.Create(ctx.viewer.obj as User, connect.GetType().FullName, x); // 日志 logger.Info("accessToken=" + x.Token); logger.Info("uid=" + x.Uid); logger.Info("refresh_token=" + x.RefreshToken); logger.Info("expires_in=" + x.ExpiresIn); logger.Info("scope=" + x.Scope); if (result.HasErrors) { echo(result.ErrorsHtml); } else { echoRedirect(lang("opok"), "/"); } }
private void loadUserProfile(AuthConnect connect, AccessToken accessToken) { OAuthUserProfile user = connect.GetUserProfile(accessToken); ctx.SetItem("__currentOAuthUser", user); ctx.SetItem("__currentAccessToken", accessToken); content(loadHtml(confirmUserInfo)); }
public override OAuthUserProfile GetUserProfile( AccessToken accessToken ) { JsonObject user = OAuthClient.Init( this.UserProfileUrl, accessToken.Token, HttpMethod.Get ) .AddParam( "uid", accessToken.Uid ) .RunJson(); if (user.Get<long>( "id" ) <= 0) { logger.Error( "无法获取正常 user profile" ); return null; } OAuthUserProfile x = new OAuthUserProfile(); x.Uid = accessToken.Uid; x.Name = user.Get( "name" ); x.FriendlyUrl = user.Get( "domain" ); x.PicUrlSmall = user.Get( "profile_image_url" ); x.PicUrlBig = user.Get( "avatar_large" ); return x; }
public override OAuthUserProfile GetUserProfile(AccessToken accessToken) { JsonObject user = OAuthClient.Init(this.UserProfileUrl, accessToken.Token, HttpMethod.Get) .AddParam("uid", accessToken.Uid) .RunJson(); if (user.Get <long>("id") <= 0) { logger.Error("无法获取正常 user profile"); return(null); } OAuthUserProfile x = new OAuthUserProfile(); x.Uid = accessToken.Uid; x.Name = user.Get("name"); x.FriendlyUrl = user.Get("domain"); x.PicUrlSmall = user.Get("profile_image_url"); x.PicUrlBig = user.Get("avatar_large"); return(x); }
//----------------------------------------------------------------------------- public override OAuthUserProfile GetUserProfile(AccessToken accessToken) { JsonObject user = OAuthClient.Init(this.UserProfileUrl, accessToken.Token, HttpMethod.Get) //.SetEncoding( "utf-8" ) .AddParam(createParams(accessToken, "")) .RunJson(); if (user.Get <long>("ret") != 0) { logger.Error("无法获取正常 user profile, 原因:" + user.Get("msg")); return(null); } OAuthUserProfile x = new OAuthUserProfile(); x.Uid = accessToken.Uid; x.Name = user.Get("nickname"); x.PicUrlSmall = user.Get("figureurl_1"); x.PicUrlBig = user.Get("figureurl_2"); return(x); }
public virtual void confirmUserInfo() { target(SaveFirstLogin); OAuthUserProfile user = ctx.GetItem("__currentOAuthUser") as OAuthUserProfile; AccessToken accessToken = ctx.GetItem("__currentAccessToken") as AccessToken; String userName = getUserName(user.Name); set("userName", userName); set("userUrl", getUserUrl(userName, user.FriendlyUrl)); set("userPic", user.PicUrlSmall); set("userUrlPrefix", sys.Url.SiteUrl); set("urlExt", MvcConfig.Instance.UrlExt); // hidden set("uid", accessToken.Uid); set("accessToken", accessToken.Token); set("refreshToken", accessToken.RefreshToken); set("expiresIn", accessToken.ExpiresIn); set("scope", accessToken.Scope); }
//----------------------------------------------------------------------------- public override OAuthUserProfile GetUserProfile( AccessToken accessToken ) { JsonObject user = OAuthClient.Init( this.UserProfileUrl, accessToken.Token, HttpMethod.Get ) .AddParam( createParams( accessToken, "" ) ) .RunJson() .GetJson( "data" ); if (user == null) { logger.Error( "无法获取正常 user profile" ); return null; } // 头像 String picUrl = user.Get( "head" ); picUrl = correctPic( picUrl ); OAuthUserProfile x = new OAuthUserProfile(); x.Uid = accessToken.Uid; x.Name = user.Get( "nick" ); x.PicUrlSmall = picUrl; x.PicUrlBig = picUrl; return x; }
public virtual void SaveFirstLogin() { if (ctx.viewer.IsLogin) { echoError("对不起,您已经登录"); return; } Object connectType = ctx.web.SessionGet("__connectType"); if (connectType == null) { echoError("无效的 connect type"); return; } AuthConnect connect = AuthConnectFactory.GetConnect(connectType.ToString()); if (connect == null) { echoError("此连接类型不存在:" + connectType); return; } AccessToken accessToken = getAccessToken(); OAuthUserProfile userProfile = connect.GetUserProfile(accessToken); if (userProfile == null) { echoError("无法获取正常 user profile"); return; } accessToken.Name = userProfile.Name; // 注册用户 User user = new User(); user.Name = ctx.Post("userName"); user.Url = ctx.Post("userUrl"); Result result = userService.RegisterNoPwd(user); if (result.HasErrors) { echoError(result); return; } result = AvatarUploader.SaveRemote(userProfile.PicUrlBig, user.Id); if (result.IsValid) { user.Pic = result.Info.ToString(); user.update(); } else { echoError(result); return; } // 是否开启空间 RegHelper.CheckUserSpace(user, ctx); // 绑定用户 Result saveResult = connectService.Create(user, connect.GetType().FullName, accessToken); if (saveResult.IsValid) { UserConnect userConnect = saveResult.Info as UserConnect; loginService.Login(user, userConnect.Id, LoginTime.OneWeek, ctx.Ip, ctx); // 登录 echoRedirect("登录成功", "/"); } else { echoError(saveResult); } }
//----------------------------------------------------------------------------- public override OAuthUserProfile GetUserProfile( AccessToken accessToken ) { JsonObject user = OAuthClient.Init( this.UserProfileUrl, accessToken.Token, HttpMethod.Get ) //.SetEncoding( "utf-8" ) .AddParam( createParams( accessToken, "" ) ) .RunJson(); if (user.Get<long>( "ret" ) != 0) { logger.Error( "无法获取正常 user profile, 原因:" + user.Get( "msg" ) ); return null; } OAuthUserProfile x = new OAuthUserProfile(); x.Uid = accessToken.Uid; x.Name = user.Get( "nickname" ); x.PicUrlSmall = user.Get( "figureurl_1" ); x.PicUrlBig = user.Get( "figureurl_2" ); return x; }