bot-on-anything icon indicating copy to clipboard operation
bot-on-anything copied to clipboard

token验证失败

Open colorfbalck opened this issue 1 year ago • 29 comments

image image

colorfbalck avatar Feb 27 '23 14:02 colorfbalck

image

colorfbalck avatar Feb 27 '23 14:02 colorfbalck

ip有加到上面的白名单吗

zhayujie avatar Feb 27 '23 14:02 zhayujie

ip有加到上面的白名单吗

我的也是token 一直失败;ip 加到白名单了

ronaldinho1000 avatar Feb 28 '23 01:02 ronaldinho1000

ip有加到上面的白名单吗

图片 我这边显示的IP 跟你教程里面的不一致,是这个造成的吗?

ronaldinho1000 avatar Feb 28 '23 01:02 ronaldinho1000

ip有加到上面的白名单吗

图片 这种一直没有机器人回复,可能是什么原因造成的呢?

ronaldinho1000 avatar Feb 28 '23 01:02 ronaldinho1000

@ronaldinho1000 看下后台日志有没有显示结果返回, 或者有没有报错信息

zhayujie avatar Feb 28 '23 01:02 zhayujie

ip加到那个白名单?

就在你截图的公众号url配置 上面

程序运行完需要在浏览器能访问url,显示以下效果 image

zhayujie avatar Feb 28 '23 01:02 zhayujie

加了

colorfbalck avatar Feb 28 '23 01:02 colorfbalck

image

colorfbalck avatar Feb 28 '23 01:02 colorfbalck

@ronaldinho1000 看下后台日志有没有显示结果返回, 或者有没有报错信息

图片 没有什么信息返回

ronaldinho1000 avatar Feb 28 '23 01:02 ronaldinho1000

图片 验证token 时,我手动改动了一点代码,因为这里老是检查token 不匹配,所以我就直接return 了;

ronaldinho1000 avatar Feb 28 '23 01:02 ronaldinho1000

你token验证失败 怎么解决的?

colorfbalck avatar Feb 28 '23 01:02 colorfbalck

@ronaldinho1000 看下后台日志有没有显示结果返回, 或者有没有报错信息

图片 这样配置有问题吗?

ronaldinho1000 avatar Feb 28 '23 01:02 ronaldinho1000

ip加到那个白名单?

就在你截图的公众号url配置 上面

程序运行完需要在浏览器能访问url,显示以下效果 image

这个界面我能正常显示

ronaldinho1000 avatar Feb 28 '23 01:02 ronaldinho1000

我可以正常显示,ip也加入白名单了,但是配置服务器,提示token验证失败 image image image image image

colorfbalck avatar Feb 28 '23 01:02 colorfbalck

@colorfbalck 你服务器上有运行什么反向代理吗? 我看浏览器访问werobot页面显示端口是 443,但是实际填的是80

zhayujie avatar Feb 28 '23 02:02 zhayujie

@ronaldinho1000 把 channel 的type 切到 terminal,在终端试试看openai是不是正常的

zhayujie avatar Feb 28 '23 02:02 zhayujie

@colorfbalck 你服务器上有运行什么反向代理吗? 我看浏览器访问werobot页面显示端口是 443,但是实际填的是80

内网8088 代理403

colorfbalck avatar Feb 28 '23 02:02 colorfbalck

我终端模式是正常的;可以正常使用

ronaldinho1000 avatar Feb 28 '23 02:02 ronaldinho1000

@ronaldinho1000 把 channel 的type 切到 terminal,在终端试试看openai是不是正常的

图片

ronaldinho1000 avatar Feb 28 '23 02:02 ronaldinho1000

@colorfbalck 你服务器上有运行什么反向代理吗? 我看浏览器访问werobot页面显示端口是 443,但是实际填的是80

内网8088 代理403

直接用80端口可以嘛

zhayujie avatar Feb 28 '23 03:02 zhayujie

@ronaldinho1000 我晚点跑下试试

zhayujie avatar Feb 28 '23 03:02 zhayujie

@colorfbalck 你服务器上有运行什么反向代理吗? 我看浏览器访问werobot页面显示端口是 443,但是实际填的是80

内网8088 代理403

直接用80端口可以嘛

外网直接用403端扣,提示系统错误。 企业微信截图_16775645238587 image

colorfbalck avatar Feb 28 '23 06:02 colorfbalck

切换到企业公众号还是 token错误,后台一直没有收到公众号的请求呢

colorfbalck avatar Mar 01 '23 01:03 colorfbalck

微信的token 的验证,例程中是python2 ,如果你本地用的是python3 ,你需要把代码稍微改动一下;

encoding:utf-8

filename: handle.py

import hashlib

import web

class Handle(object):

def GET(self):

    try:

        data = web.input()

        if len(data) == 0:

            return "hello, this is handle view"

        signature = data.signature

        timestamp = data.timestamp

        nonce = data.nonce

        echostr = data.echostr

        token = "123456" #请按照公众平台官网\基本配置中信息填写



        list = [token, timestamp, nonce]

        list.sort()

        sha1 = hashlib.sha1()

        sha1.update(list[0].encode('utf-8'))

        sha1.update(list[1].encode('utf-8'))

        sha1.update(list[2].encode('utf-8'))

        hashcode = sha1.hexdigest()

        print( "handle/GET func: hashcode, signature: ", hashcode, signature)

       # return echostr

        if hashcode == signature:

            return echostr

        else:

            return ""

    except Exception as Argument:

        return Argument

ronaldinho1000 avatar Mar 01 '23 09:03 ronaldinho1000

微信的token 的验证,例程中是python2 ,如果你本地用的是python3 ,你需要把代码稍微改动一下;

encoding:utf-8

filename: handle.py

import hashlib

import web

class Handle(object):

def GET(self):

    try:

        data = web.input()

        if len(data) == 0:

            return "hello, this is handle view"

        signature = data.signature

        timestamp = data.timestamp

        nonce = data.nonce

        echostr = data.echostr

        token = "123456" #请按照公众平台官网\基本配置中信息填写



        list = [token, timestamp, nonce]

        list.sort()

        sha1 = hashlib.sha1()

        sha1.update(list[0].encode('utf-8'))

        sha1.update(list[1].encode('utf-8'))

        sha1.update(list[2].encode('utf-8'))

        hashcode = sha1.hexdigest()

        print( "handle/GET func: hashcode, signature: ", hashcode, signature)

       # return echostr

        if hashcode == signature:

            return echostr

        else:

            return ""

    except Exception as Argument:

        return Argument

这修改的是那个文件 没有handle.py呢

colorfbalck avatar Mar 01 '23 10:03 colorfbalck

用的python3.10

colorfbalck avatar Mar 01 '23 10:03 colorfbalck

你要按照腾讯给的一些例子进行设置一下才行;

ronaldinho1000 avatar Mar 01 '23 10:03 ronaldinho1000

正常情况部署上去就自带token验证的,不需要增加代码的,看下是不是路由配置的问题

zhayujie avatar Mar 02 '23 02:03 zhayujie