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

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

教程导航:

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

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

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

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

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

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

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

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

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

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

1.获取授权连接

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

2.通过code换取access_token

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

3.刷新access_token

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

4.获取用户基本信息

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

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

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

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

1.获取code

2.通过code换取accesstoken

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

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

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

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

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

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

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

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

具体的AuthCallback方法如下:

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

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

 

下一节我们将介绍代公众号使用JS SDK的方法。也会给出demo代码。目前我们也在做一套基于微信和移动平台的框架,把微信的基础功能极其其他的底层功能全部封装,让开发人员做开发时,只关心的具体的业务逻辑。不需要关系一些底层的功能如何实现。这样可以大大减少学习成本和开发时间成本。后续我会有专门的文章讨论。欢迎大家继续关注。

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

上一篇:记观察到的微信的细节设计


下一篇:通过微信分享链接,后面会被加上from=singlemessage&isappinstalled=1可能导致网页打不开