0029 微信开发(04 获取网页授权)

  微信公众号里,一般就两种操作:

  一是请求微信接口:就是带上上一节获取的Access_token就可以了。

  二是在微信中调用网页。在微信公众号里要请求网页,需要网页授权,微信网页授权采用OAuth2.0授权方式,分为三步:

  第一步:请求code

  第二步:通过code换取Access_token

  第三步:通过Access_token换取接口

  而在wechatpy中,已经给我们封装好了,我们写一个函数,只要传入url和state两个参数,就可以返回一个回调地址。这个函数写在Applications/Wechat/views/Utils.py文件中。和上一节的获取Access_token存放在一个文件中。

1 导入WeChatOAuth包

from wechatpy.oauth import WeChatOAuth

2 编写get_WeChatOAuth函数

  这个函数中调用wechatpy中的WeChatOAuth方法,有五个参数:

  appid:开发者ID

  secret:开发者密码

  redirect_url:需要重定义的网页地址(即我们需要访问的网页地址)

  scope:应用授权作用域,微信的授权作用域分为snsapi_baset 和snsapi_userinfo,snsapi_baset只需要网页授权,不需要用户确认,而snsapi_userinfo需要获取用户信息,所以,需要用户确认。我们在登录公众号的时候,已经获取了用户信息,所以,当用户调用网页的时候,不需要再让用户确认了,所以,我们选择使用snsapi_baset

  state:用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验。

  传入这五个参数后,WeChatOAuth方法会返回一个对象。这个对象里包含了以下信息:

  authorize_url:获取授权跳转地址

  check_access_token:检查Access_token的有效性

  

  

猜你喜欢

转载自www.cnblogs.com/dorian/p/12396007.html