教程导航:

微信开放平台 公众号第三方平台开发 教程一 平台介绍

微信开放平台 公众号第三方平台开发 教程二 创建公众号第三方平台

微信开放平台 公众号第三方平台开发 教程三 一键登录授权给第三方平台

微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo

微信开放平台 公众号第三方平台开发 教程五 代公众号发起网页授权源码

由于最近比较忙,这个教程没有连续上,我会尽量连载。书节上回,上次我介绍了代公众号调用接口的方法和SDK的使用。不少朋友也都加了QQ群,并且获取了源码,也给了不少的反馈,感谢大家支持,你们的支持是我最大的努力.根据反馈对open平台的SDK的做了进一步优化,已经更新到群共享里,欢迎大家下载、沟通学习。

一、代公众号发起网页授权接口的SDK

我已经更新了SG.Weixin.Open.SDK的代码,已经新增了代公众号发起网页授权的API,具体的新增API的在位置如下:

公众号第三方平台开发  -  教程五 代公众号发起网页授权源码_编程

本次新增4个接口的API,具体如下

1.获取授权连接

公众号第三方平台开发  -  教程五 代公众号发起网页授权源码_编程_02

2.通过code换取access_token

公众号第三方平台开发  -  教程五 代公众号发起网页授权源码_编程_03

3.刷新access_token

公众号第三方平台开发  -  教程五 代公众号发起网页授权源码_编程_04

4.获取用户基本信息

公众号第三方平台开发  -  教程五 代公众号发起网页授权源码_编程_05

二、代公众号发起网页授权使用SDK的demo

在公众号授权托管给第三方平台后,第三方平台可以根据本文档相关说明,代替授权公众号发起网页授权。作为第三方平台开发商,需要拥有自己的appid以及secret,以及确保授权的公众号具备授权作用域的权限,以及用于回调的域名。

具体的授权流程分为以下三步:

1.获取code

2.通过code换取accesstoken

3.通过网页授权access_token获取用户基本信息

我们按照上述的3个步骤在代码中实现公众号的网页授权

首先,我们创建一个方法,用于授权的入口,使用SDK实现的代码如下:

公众号第三方平台开发  -  教程五 代公众号发起网页授权源码_编程_06

在入口页面方法中调用授权具体的授权的方法(UtilityAuth),获取跳授权的URL,其中authorizer_appid参数为一键授权服务号获取到的公众号的appid,

公众号第三方平台开发  -  教程五 代公众号发起网页授权源码_编程_07

在UtilityAuth方法中,通过SDK的api获取到跳转的URL,并且跳转进入到授权页面,在授权页面用户会回调一个方法。具体的回调路径需要在config中配置即可

公众号第三方平台开发  -  教程五 代公众号发起网页授权源码_编程_08

具体的AuthCallback方法如下:

公众号第三方平台开发  -  教程五 代公众号发起网页授权源码_编程_09

在AuthCallback中,将会调用ProxyOAuthApi.GetOpenAccessToken的接口(通过code换取accesstoken)和ProxyOAuthApi.GetUserInfo接口(通过网页授权access_token获取用户基本信息),这样我们就实现了使用OPEN的SDK实现代公众号发起网页授权功能。