收藏
回答

服务商微管家的授权链接如何增加参数?

AppID
wx65bc225bc7cc2b91

您好,很高兴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 个回答

登录 后发表内容