您好,很高兴wxcloudrun-wxcomponent如此强大,可以让人少做很多工作。经过几天操作我已经熟悉了大部分的wxcloudrun-wxcomponent的操作。
但我毕竟是新手,现在有个需求,不知道怎么处理,请帮忙,问题是:
我希望传递一个参数(例如:bot_id)到授权页例如https://wxcomponent-247412-126702-8-1331044441.sh.run.tcloudbase.com/#/authorize,授权后的appid能跟bot_id关联,这样我就能在业务系统去分发不同请求。
我尝试过用nonce参数,但看了wxcloudrun-wxcomponent代码,似乎没有对这个参数进行处理。重要的是我不懂go语言。
于是我想转换到业务系统去预授权请求授权页,在请求授权页之前我把bot_id和preAuthCode一起保持。但我又遇到新问题,提示错误:
请确认授权入口页所在域名,与授权后回调页所在域名相同,并且,此两者都必须与申请第三方平台时填写的授权发起页域名相同。授权入口页所在域名:空
我的主要代码如下:
def preauth(request, _):
"""
预授权接口
`` request `` 请求对象
"""
# 获取参数bot_id
bot_id = request.GET.get('bot_id')
# 获取预授权码
json_data = requests.get('http://127.0.0.1/wxcomponent/authpage/preauthcode').json()
print('preauthorized req: {}'.format(json_data))
preAuthCode = json_data['data']['preAuthCode']
# 保存预授权码,bot_id 信息到wx_authorized表
WxAuthorized.objects.create(
app_id=os.environ.get("WX_APPID", 'wx65bc225bc7cc2b91'),
coze_bot_id=bot_id,
pre_auth_code=preAuthCode
)
# 组成授权链接
authUrl = 'https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid={}&pre_auth_code={}&redirect_uri={}'.format(
os.environ.get("WX_APPID", 'wx65bc225bc7cc2b91'),
preAuthCode,
'https://wxcomponent-247412-126702-8-1331044441.sh.run.tcloudbase.com/wx/authcallback'
)
# 重定向跳转到授权链接authUrl
return redirect(authUrl)
请帮忙给点建议,谢谢!!!
你好,1、对微管家有个性化需求,请参考文档 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/product/management-tool-dev.html 到git下载源码后自行做修改
2、若需要使用传统模式授权流程自建授权链接,请先切换为传统模式 (需自行配置开发资料信息),参考 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Before_Develop/Authorization_Process_Technical_Description.html 授权流程说明,可支持的参数也查看文档的【授权链接参数说明】
开发呢?
微管家该服务源码存放地址为:https://github.com/WeixinCloud/wxcloudrun-wxcomponent
传统模式就是参考上面的文档自行构建授权链接,更多开发文档查看第三方平台文档列表