当前位置: 首页 > news >正文

用流媒体做的电台网站黑龙江建设网站招聘

用流媒体做的电台网站,黑龙江建设网站招聘,酒类公司网站模板,做ppt设计师哪个网站好初步简介 初始授权请求#xff1a;用户访问 /api/wx_api/get_wx_openid 路由时#xff0c;服务器端会生成一个微信授权URL#xff0c;该URL指向微信的授权页面#xff0c;并包含了必要的查询参数#xff08;如appid、redirect_uri、response_type、scope、state#xff0…初步简介 初始授权请求用户访问 /api/wx_api/get_wx_openid 路由时服务器端会生成一个微信授权URL该URL指向微信的授权页面并包含了必要的查询参数如appid、redirect_uri、response_type、scope、state。scope参数设置为snsapi_base意味着请求基本授权不弹出授权页面只获取用户的OpenID。 重定向至微信授权页面用户被重定向到微信授权页面同意授权后微信会将用户重定向回指定的redirect_uri并附加上授权码code。 处理授权重定向用户重定向回redirect_uri即 /api/wx_api/wechat_redirect/appid 路由后服务器端从请求中提取code参数。如果未获取到code返回错误信息。 使用授权码获取OpenID服务器使用提取到的code向微信的access_token接口发送请求以交换access_token和用户的OpenID。请求URL包括appid、secret、code和grant_type。成功响应后提取JSON数据中的OpenID。 响应OpenID或错误如果成功从微信响应中获取到OpenID服务器将其返回给客户端。如果未能获取OpenID例如因为授权码无效或已过期则返回错误信息。 关键实现点 使用 Flask 路由处理HTTP请求和重定向。构建微信授权URL包括设置授权范围为snsapi_base以便用户授权时不需弹出页面。解析微信重定向回应用时附带的code并使用它请求OpenID。安全性考虑如使用state参数可以增加CSRF攻击的防护。 这个过程使得应用能够在用户授权后获取到其微信OpenID这是开发微信公众号应用时实现用户认证和个性化服务的基础。 代码部分 #学习交流 访问 # https://v.iiar.cnfrom flask import Flask, request, jsonify, redirect import requests# 初始化 Flask 应用 app Flask(__name__)appid 你的微信appid secret 你公众号的secretapp.route(/api/wx_api/get_wx_openid, methods[GET]) def get_wx_openid(): redirect_uri fhttps://xpay.iiar.cn/api/wx_api/wechat_redirect/{appid}get_openid_url get_wechat_authorize_url(appid, redirect_uri)return redirect(get_openid_url, code301)# 获取用户code def get_wechat_authorize_url(appid, redirect_uri):base_url https://open.weixin.qq.com/connect/oauth2/authorizeparams {appid: appid,redirect_uri: redirect_uri,response_type: code,scope: snsapi_base, # 使用 snsapi_base不弹出授权页面直接跳转只能获取用户openidstate: STATE # 不必须重定向后会带上state参数开发者可以填写任意参数值}query_str .join([f{key}{value} for key, value in params.items()])return f{base_url}?{query_str}#wechat_redirectapp.route(/api/wx_api/wechat_redirect/appid, methods[GET]) def wechat_redirect(appid):code request.args.get(code)if not code:return jsonify({error: 未获取到授权码}), 400# 使用 code 换取 access_token 和 OpenIDtoken_url fhttps://api.weixin.qq.com/sns/oauth2/access_token?appid{appid}secret{secret}code{code}grant_typeauthorization_coderesponse requests.get(token_url)data response.json()if openid in data:openid data[openid]return jsonify({openid:openid})else:return jsonify({error: 获取 OpenID 失败}), 400if __name__ __main__:app.run(debugTrue)代码解释 这段代码是使用 Flask 框架实现的微信公众号开发的一部分旨在通过微信OAuth2.0授权流程获取用户的OpenID。以下是对代码的详细解释 1. 定义全局变量 appid您的微信公众号的AppID用于标识您的公众号。secret您的微信公众号的Secret用于与AppID配合使用进行身份验证。 2. get_wx_openid函数 这是一个Flask视图函数绑定到路由/api/wx_api/get_wx_openid上仅支持GET方法。当用户访问这个URL时函数执行以下步骤 构造redirect_uri这是用户授权后重定向的目标地址其中包含了appid作为路径参数。这个URI指向了本API的另一个端点。调用get_wechat_authorize_url函数传递appid和redirect_uri作为参数以构建微信授权URL。通过redirect函数将用户的浏览器重定向到微信授权URL开始授权流程。 3. get_wechat_authorize_url函数 这个函数负责构建微信授权URL。它接收appid和redirect_uri作为参数并设置了一些其他授权请求的必要参数 response_type设置为code意味着微信授权后将返回一个授权码code。scope设置为snsapi_base表示这是一个基础的授权请求不弹出授权页面直接跳转只能获取用户的OpenID。state是一个可选参数可以被用作CSRF保护。 函数将这些参数拼接为一个查询字符串并附加到base_url后面形成完整的微信授权URL并在末尾添加#wechat_redirect以确保在微信内或者通过微信打开时正确处理。 4. wechat_redirect函数 这个函数绑定到路由/api/wx_api/wechat_redirect/appid上仅支持GET方法。它处理从微信授权重定向回来的请求。函数执行以下步骤 从请求的查询参数中获取code。如果没有获取到code返回错误信息。使用获取到的code构造请求微信access_token接口的URL。这个URL包含appid、secret、code和grant_type设置为authorization_code。向该URL发起GET请求获取响应并解析JSON格式的响应数据。如果响应数据中包含openid则返回这个OpenID如果没有说明获取OpenID失败返回错误信息。 这段代码展示了一个使用Flask实现的微信OAuth2.0授权流程从用户授权开始到获取用户OpenID的完整过程。这是实现微信登录、获取用户信息等功能的基础。
http://www.zqtcl.cn/news/173144/

相关文章:

  • 门户网站举例phpstuy wordpress
  • 做网站许昌美业管理软件系统排名
  • 温州市建设工程质量安全管理总站贵阳最新消息今天
  • 成都服装网站建设工作是否能给我们带来快乐
  • 电商网站建设综述长沙高端网站建设
  • 网站建设有哪些环节怎么申请网址
  • 做网站要什么软件经典网站首页
  • 个人网站备案转公司备案长沙网站seo报价
  • 上海网站开发建设电话电影vip网站建设步骤
  • 17.zwd一起做网站池尾站邢台快用网络科技有限公司
  • 做写字楼租赁用什么网站好如何申请网站com域名
  • 如何查询网站服务商安徽省建设厅证件查询安全员c证
  • asp网站怎么安装程序员wordpress插件
  • 池州网站建设哪家好郑州seo网站管理
  • 我要建个人网站国外免备案虚拟主机
  • 自建站 外贸做旅游网约车的网站
  • 网站关键词优化排名软件东莞网站建设图表
  • 为企业设计网站微信开放平台的发展前景
  • 苏州高端做网站软件开发流程图例子
  • 开发区网站建设公司wordpress中文官网
  • 购物网站项目经验搭建网站流程
  • 网站建设企业蛋糕怎么做网站里导出没有水印的图
  • 享设计网做兼职设计师怎么样何鹏seo
  • 淘宝联盟网站推广位怎么做网站建设小知识
  • 徐州有办网站的地方吗企业做网站多少钱
  • 地铁公司招聘信息网站通江县网站建设
  • 家具网站 模板上海虹口建设局官方网站
  • 网站建站建设哪家好wordpress全站静态
  • 旅游网站建设策划seo顾问多少钱
  • 个人网站注册平台要多少钱彩票网站开发 违法