0x676e67/ninja

/auth/refresh_token接口403错误

lazzman opened this issue · 11 comments

复现步骤

  1. 调用/auth/token获取refreshTokenA
  2. 调用/auth/refresh_token刷新refreshTokenA,ninja此时返回的还是refreshTokenA(实测官方接口返回的是新的refreshTokenB)
  3. 再次调用/auth/refresh_token刷新refreshTokenA,ninja此时返回403

猜测

官方调整了refresh_token逻辑?每次调用都会返回新的refresh_token?

你发一下官方返回的response 格式我看看,有可能是变了

以前是不会重新生成refresh token
image

又测试了一下:
https://chat.freegpts.org/applelogin 获取的RefreshToken,无论是调用ninja的刷新还是官方的刷新,都不会变

从/auth/token获取的RefreshToken,无论是调用ninja的刷新还是官方的刷新,都会变(ninja由于返回的RefreshToken不是新的,所以第二次刷新403)

你刷的啥玩意啊,platform登录?我印象中只有苹果的不会变

1.调用/auth/token登录
token

2.调用官方刷新
image

这两个就不是一个东西,两个平台的。不过也修复了,我直接返回官方的response 不做修改

这两个就不是一个东西,两个平台的。不过也修复了,我直接返回官方的response 不做修改

新人不太懂请多包涵~
我想说明的问题是:
调用/auth/token获取到的refreshToken(option:platfrom),调用/auth/refresh_token时,ninja返回的refreshToken还是以前的refreshToken,但实际上这个refreshToken已经失效了,所以再次调用/auth/refresh_token时,就会提示403

不过你刷这玩意有啥用,也能用chatgpt聊天?

1.调用/auth/token获取refreshTokenA
image

2.调用/auth/refresh_token刷新refreshTokenA,ninja此时返回的还是refreshTokenA
image

3.再次调用/auth/refresh_token刷新refreshTokenA,ninja此时返回403
image

不过你刷这玩意有啥用,也能用chatgpt聊天?

我是通过 https://github.com/Yanyutin753/refresh-gpt-chat.git 这个项目发现的这个问题,这个项目使用refresh_token作为请求头的,发现第二次调用refreshToken接口总是报错

不过你刷这玩意有啥用,也能用chatgpt聊天?

我是通过 https://github.com/Yanyutin753/refresh-gpt-chat.git 这个项目发现的这个问题,这个项目使用refresh_token作为请求头的,发现第二次调用refreshToken接口总是报错

因为这个项目里面的refreshtoken不是platform里面的,而是PN之前遗留的,请仔细看readme
完美继承pandoraNext留下的refresh_token