昨天,注册了chatgpt帐号,登录成功却不能进入与chatgpt的聊天界面,而是提示所在的国家不支持。
更改了电脑的IP,刷新浏览器重新尝试,错误依旧。
猜想可能是访问信息被保存在浏览器的本地存储(如localstorage或者cookie)中,而刷新浏览器并不能清空本地存储。
利用 chrome浏览器的开发者工具,打开“application"->"Storage"->"Local Storage",找到了chatgpt网站保存在浏览器的jwt。
JWT是JSON Web Token的缩写,是为了在网络应用环境间传递声明而执行的- -种基于JSON的开放标准((RFC 7519)。
当用账号、密码登录应用,登录的请求发送到chatgpt 服务器。
chatgpt 服务器进行用户验证,然后创建JWT字符串返回给客户端。
客户端请求接口时,在请求头带上JWT。
chatgpt 服务器验证JWT合法性,如果合法则继续调用应用接口返回结果。
在保存的JWT中包含了访问者的国家信息,包括国家代码,国家名称等。
chatgpt 服务器根据JWT中的国家信息判断是否提供服务。
从网上查到的解决方案是在地址栏运行javascript脚本清空缓存,完全没有必要。
只需要清空浏览器的历史访问记录,再换IP登录,就成功了!
另外,从JWT的expiresAt信息来看,其登录有效时间为7天,说明登录成功后的7天时间内不需要重新登录。
在此期间,电脑可以切换回原来的IP。