首页 > 代码库 > 新浪OAuth客户端登陆另辟蹊径
新浪OAuth客户端登陆另辟蹊径
题记:这是一段七月份写的代码了,忘记有没有做过优化了,随便看看吧。
前言:当时七月份刚接触的时候,客户端登陆授权方式早就已经取消了,于是就考虑用网页登陆方式来间接模拟下吧,这样密码也安全点,无非就是拿个Token嘛。
使用哪一家的SDK相信您可以看出来
//先上代码吧 myOuth = new NetDimension.Weibo.OAuth(AppKey, AppSecret, Properties.Settings.Default.CallbackUrl ); OuthWeb myWeb = new OuthWeb(myOuth.GetAuthorizeURL()); //传入获取授权地址 myWeb.callBakUrl = myOuth.CallbackUrl; myWeb.fatherFrm = this; //向子窗口传递父窗口,用于写入返回值 myWeb.ShowDialog(); myOuth.GetAccessTokenByAuthorizationCode(AccToken); //请注意这里返回的是AccessToken对象,不是string if (!string.IsNullOrEmpty(myOuth.AccessToken)) { Properties.Settings.Default.AcessToken = myOuth.AccessToken; Properties.Settings.Default.Save(); MessageBox.Show("授权成功", "恭喜^_^", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("AccessToken Failed!"); }
子窗口访问调用析构函数传参过来的URL,然后在页面完成时检测带回参的URL:
private void MainWeb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { if (e.Url.ToString().IndexOf(callBakUrl) == 0) { string referUrl = e.Url.ToString(); fatherFrm.AccToken = //向父窗口写入AccessToken referUrl.Substring( referUrl.IndexOf("code") + 5 ); this.Close(); } }
这样就间接地实现了客户端登陆,跟模拟OAuth登陆有点区别。
新浪OAuth客户端登陆另辟蹊径
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。