• 用QQ帐号和新浪微博帐号登录网站


    用QQ帐号登录:

     

     

     

     

    然后点击验证
     

     将下面代码复制到网站首页中,放进去以后再点击验证就能得到ID和key

     

     

     

     

    第一步:配置web.config及引用DLL 这里Dll直接放置bin 文件夹下即可

    放置的文件可以通过http://wiki.opensns.qq.com/wiki/%E3%80%90QQ%E7%99%BB%E5%BD%95%E3%80%91SDK%E4%B8%8B%E8%BD%BD这个页面下的.NETSDK下载

     

     

     

     

     

     

    添加上面2处至适当位置其中要说明的是 如果开发环境是vs2010 第一处的版本需要修改成 4.0.0.0我的开发环境是vs2008 所以用2.0.0.0即可

     

    为了拷贝方便代码黏贴如下:

     

        <sectionGroup name="QQSectionGroup">

          <section name="QzoneSection" type="System.Configuration.NameValueSectionHandler,System,Version=2.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089" />

    </sectionGroup>

     

      <QQSectionGroup>

    <QzoneSection>

    <add key="AppKey" value="100273220" />

    <add key="AppSecret" value="**************************" />

    <addkey="CallBackURI" value="www.qihaolu.com/qqshouquan.aspx"/>

    <add key="AuthorizeURL" value="https://graph.qq.com/oauth2.0/authorize" />

    </QzoneSection>

    </QQSectionGroup>

     

    说明:

    AppKey:网站应用APP ID

    AppSecret:网站应用 KEY

    CallBackURI:QQ登陆授权后返回的页面地址

     

    第二步:

    在前台登录处添加以下代码:

    <a href="<%=stateA %>">QQ帐号登录</a>

    在后台添加以下代码:

    using QConnectSDK;
    using QConnectSDK.Models;
    using QConnectSDK.Context;
    using System.IO;

     

    protected string stateA = string.Empty;

    if (!IsPostBack)
    {
                var context = new QzoneContext();
                string state = Guid.NewGuid().ToString().Replace("-", "");
                string scope = "get_user_info,add_share,list_album,upload_pic,check_page_fans,add_t,add_pic_t,del_t,get_repost_list,get_info,get_other_info,get_fanslist,get_idolist,add_idol,del_idol,add_one_blog,add_topic,get_tenpay_addr";
                var authenticationUrl = context.GetAuthorizationUrl(state, scope);
                Session["requeststate"] = state;
                Session["scope"] = scope;
                stateA = authenticationUrl;
    }

    提示:

    一开始我写成<a href="https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=100273220&redirect_uri=www.qihaolu.com/qqlogin.aspx">QQ登录</a>

    然后把上面的后台代码放在qqlogin.aspx后台里面,结果登录的时候要点两次登录才能登录

    第三步:

    创建qqshouquan.aspx页面 web.config里面有设置CallBackURI,在.cs里面添加如下代码

    using QConnectSDK;
    using QConnectSDK.Models;
    using QConnectSDK.Context;
    using System.IO;

    protected void Page_Load(object sender, EventArgs e)
    {
            if (!IsPostBack)
            {
                QQ();
            }
      }

     

    public void QQ()
        {
            if (Request.Params["code"] != null)
            {
                QOpenClient qzone = null;
                QConnectSDK.Models.User currentUser = null;

                var verifier = Request.Params["code"];
                string state = Session["requeststate"].ToString();
                qzone = new QOpenClient(verifier, state);
                currentUser = qzone.GetCurrentUser();

                string openid = qzone.OAuthToken.OpenId;
                string aa = qzone.OAuthToken.AccessToken;

     

                if (null != currentUser)
                {
                    string id = openid.Substring(0, 8) + "-" + openid.Substring(8, 4) + "-" + openid.Substring(12, 4) + "-" + openid.Substring(16, 4) + "-" + openid.Substring(20, 12);
                    int sum = Bll.GetRecordCount("CUSTOMER_ID='" + id + "'");
                    if (sum > 0)
                    {
                        //存在(跳转)
                        Response.Cookies["id"].Value = id;
                        Response.Redirect("Index.aspx");
                    }
                    else
                    {
                        //不存在(新增)
                        model.CUSTOMER_ID = new Guid(id);//QQ唯一ID
                        model.CUSTOMER_SEX = currentUser.Gender;
                        model.CUSTOMER_LOGIN_TYPE = 2;
                        model.CUSTOMER_STATE = 2;
                        model.CUSTOMER_NICKNAME = currentUser.Nickname;//昵称
                        Bll.Add(model);
                        Response.Cookies["id"].Value = id;
                        Response.Redirect("Index.aspx");
                    }
                }
            }

    至此就可以获取QQ用户的信息了,及openid 和AccessToken

     

     

    微博帐号登录:

    请AppKey流程我就不说了,和QQ的申请流程一样,微博登录和发表微博在http://weibosdk.codeplex.com/有原原本本的源码下载,这里我就不多说了,要是还不会可以先去看那里的视频教程

  • 相关阅读:
    关于typedef在struct使用上的一些问题
    软件工程--趣盒--第四次团队作业--软件实现与测试
    趣盒——快速入门手册
    软件工程趣盒软件设计
    软件工程项目需求分析
    在VS2017下配置OpenGL
    破阵子青铜团队介绍以及项目背景介绍
    海客谈瀛洲,烟涛微茫信难求——微信
    第一次作业:扑通扑通 我的IT
    5.线性回归算法
  • 原文地址:https://www.cnblogs.com/lyl6796910/p/3536311.html
Copyright © 2020-2023  润新知