zoukankan      html  css  js  c++  java
  • 微信登录之手机版

    移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。
    在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的移动应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。
    目前移动应用上微信登录只提供原生的登录方式,需要用户安装微信客户端才能配合使用。
    微信登录的流程讲解如下。
    开发者需要配合使用微信开放平台提供的SDK进行授权登录请求接入。正确接入SDK后并拥有相关授权域权限后,开发者移动应用会在终端本地拉起微信应用进行授权登录,微信用户确认后微信将拉起开发者移动应用,并带上授权临时票据(code)。
    iOS平台应用授权登录接入代码示例:

    -(void)sendAuthRequest
    { 
        //构造SendAuthReq结构体
        SendAuthReq* req =[[[SendAuthReq alloc ] init ] autorelease ];
        req.scope = @"snsapi_userinfo" ;
        req.state = @"123" ;
        //第三方向微信终端发送一个SendAuthReq消息结构
        [WXApi sendReq:req]; 
    }
    

    Android平台应用授权登录接入代码示例:

    { 
        // send oauth request 
        Final SendAuth.Req req = new SendAuth.Req();
        req.scope = "snsapi_userinfo";
        req.state = "wechat_sdk_demo_test";
        api.sendReq(req);
    }
    

    上述数据的参数说明如表22-1所示。

    表22-1移动应用微信登录参数说明
    微信客户端会被拉起,跳转至微信登录授权界面,如图22-2所示。

    图22-2移动应用微信登录
    当用户点击确认登录时,SDK通过SendAuth的Resp返回ErrCode和code等参数给调用方。相关参数的说明如表22-2所示。

    表22-2微信支付登录返回参数
    获取第一步的code后,请求接口获取access_token,接口地址为:
    https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
    上述数据的参数说明如表22-3所示。

    表22-3获取access_token接口参数说明
    正确创建时,返回的数据示例如下。

    {
        "access_token": "OezXcEiiBSKSxW0eoylIeOZ0dfxvb93UyrFdwznvwUv3JkVNVV1yFvQQa3IfuyMi4iZGDsAfe81sCaUXxyKrI-5XgCvhAS02eAC4MF2fJFl80Y9s-0h1EsuBmIVKgu0GnKhxCQ0M8G-gkQAJpzLzmQ",
        "expires_in": 7200,
        "refresh_token": "OezXcEiiBSKSxW0eoylIeOZ0dfxvb93UyrFdwznvwUv3JkVNVV1yFvQQa3IfuyMiH7dCabGFyMRtZHnHPHuEK78cf1eISYJ4y453T8pDa2tFAIJu8bFeLMBpeFSv9dgnGrK-ZfRxHzhq7IW4qevEMQ",
        "openid": "oH9d2v7NmDhsFzICG63UPSIOgUcY",
        "scope": "snsapi_userinfo",
        "unionid": "o4wcnwx0BVC4F_hSl5qCd5rC4Jps"
    }
    

    上述数据的参数说明如表22-4所示。

    表22-4获取access_token接口返回参数说明
    最后,可以通过access token和OpenID获取用户的基本信息。接口地址如下:
    https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
    上述数据的参数说明如表22-5所示。

    表22-5获取用户基本信息接口参数说明
    正确创建时,返回的数据示例如下。

    {
        "openid":"oH9d2v7NmDhsFzICG63UPSIOgUcY",
        "nickname":"方倍",
        "sex":0,
        "language":"zh_CN",
        "city":"",
        "province":"",
        "country":"CN",
        "headimgurl":"http://wx.qlogo.cn/mmopen/pburdzLK7PUTcFw3ozK52Gravkznno51DSjnqnzsG6WzJLUOtadGBYYSVqh5YDicdawxrD6hHoR96OcyyDWAEgA/0",
        "privilege":[
    
        ],
        "unionid":"o4wcnwx0BVC4F_hSl5qCd5rC4Jps"
    }
    

    上述数据的参数说明如表22-6所示。

    表22-6获取用户基本信息接口返回参数说明
    至此,移动应用就完成了微信用户的登录过程,并获得了用户的个人基本信息。

  • 相关阅读:
    [转] ArcGIS自定义工具完全教程 1/2
    ArcMap工具栏中嵌入自定义按钮
    自定义ArcGIS应用程序
    制作ArcGIS DLL插件的安装包
    如何编写和注册.Net的Com组件
    空间参考(三)ArcGIS Engine的支持
    ArcGIS Desktop开发基础
    ArcGIS中坐标系统简介
    Ao开发
    ArcGIS Desktop Addin插件开发系列
  • 原文地址:https://www.cnblogs.com/zhijiangch/p/7806056.html
Copyright © 2011-2022 走看看