第三方授权登录
使用Visusal Studio2012 完成一个简便的第三方授权登录,有兴趣的宝宝可以康康哦~
第一步:
打开VS 画一个登录窗体 有账号,密码框 可以登录的那种(也就是我们最普通的登录方式)
新添加了一个button按钮,以方便打开我们的第三方授权登录页面。
第二步:完成代码
//登录的控件
private void btn_denglu_Click(object sender, EventArgs e)
{
if(txt_Name.Text.Equals("南风知我意")&&txt_password.Text.Equals("0622"))
{
MessageBox.Show("登录成功");
frmMain main = new frmMain();
main.user = txt_Name.Text;
Hide();
main.ShowDialog();
}
else
{
MessageBox.Show("登录失败");
}
}
//第三方授权登录控件
private void btn_three_Click(object sender, EventArgs e)
{
three san = new three();
//san.Show();
//模式化
san.ShowDialog();
if (san.qqnumber != null)
{
MessageBox.Show("登录成功");
//登录成功会发生什么
frmMain main = new frmMain();
main.user = san.qqnumber;
Hide();
main.ShowDialog();
}
第三步:而点开第三方授权登录按钮 需要在画一个窗体并添加webBrowser控件(允许用户在窗体内浏览网页)
那我们要浏览哪个网页呢?(现在用qq空间的第三方授权登录作为我们要浏览的网页)需要从浏览器进入QQ空间官网 右击检查寻找ifame标签中的src地址。
第四步:将该src地址复制下来后,选择webBrowser控件中的Url(指定Web浏览器控件导航到的地方),粘贴QQ空间的src至Url。
那么导航之后会发生什么呢?
第五步:这个时候我们需要在webBrowser控件中点击Navigated事件(也就是导航后会发生的)
第六步:点击完Navigated事件后,我们就会进入代码部分,编写导航后会发生的代码。
//定义一个 成员变量 用来获取QQ号码
public string qqnumber;
//获取导航后的地址
private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
string url=webBrowser1.Url.ToString();
string qq = "https://user.qzone.qq.com/";//这个就是QQ空间的网址后面连接的是QQ号码
// MessageBox.Show(url.Substring(qq.Length));
if(url.Substring(0,qq.Length).Equals(qq))
{
//如何获取qq号码
//总长度-前面的长度
//https://user.qzone.qq.com/QQ号码—https://user.qzone.qq.com/=QQ号码
qqnumber = url.Substring(qq.Length);
//MessageBox.Show(qqnumber);
//关闭当前窗口
Close();
}
}
运行:
这样我们简便的第三方授权登录就算是完成啦!
大家有好的建议欢迎评论区留言哦!