1、设备登陆过chat的了,刚刚是搞错域名了,搞成chat.xxx.xxx/?un=xxx
2、现在用tk.xxx.xxx/?un=xxx登陆,都是直接跳转到https://chat.xxx.workers.dev/auth/login
是否是rt和at都没起到作用?
还是我的 token_prefix
的问题呢
理论上如果token无效是会直接卡在tk.xx并显示错误信息的,你开个无痕试试
我试了一下也不行了,貌似是始皇还在改新版的代码,导致cookie格式对不上
等始皇更新完吗
始皇已更新接口,无需再建二号worker
原内容
原原内容
更新:由于始皇代码结构调整,之前直接设置cookie的方式不生效了,需将二号worker的代码更新为以下内容
const hostname = "https://new.oaifree.com";
async function getCookies(shareToken) {
const cookies = await fetch(`${hostname}/auth/login_token`, {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: 'action=token&access_token=' + encodeURIComponent(shareToken),
})
.then(response => {
return response.headers.get('Set-Cookie');
})
return cookies
}
async function handleRequest(request) {
let url = new URL(request.url);
if (url.pathname === '/setcookie.html') {
const accessToken = url.searchParams.get('access_token');
if (accessToken) {
const cookies = await getCookies(accessToken);
const response = Response.redirect(url.origin, 302);
const newHeaders = new Headers(response.headers);
newHeaders.append("Set-Cookie", cookies);
const modifiedResponse = new Response(response.body, {
status: response.status,
statusText: response.statusText,
headers: newHeaders
});
return modifiedResponse;
}
}
return fetch(new Request(hostname + url.pathname, request));
}
addEventListener("fetch", (event) => {
event.respondWith(handleRequest(event.request));
});
有需要的话二号worker可以用始皇版反代:
反代后记得把proxied_domain同步更改为反代worker的地址
代码更新了,看楼上
代码已更新
感谢收藏了,慢慢消化一下
貌似依旧不行,无痕试了一下
厉害的。如果能限制用户的访问频率就更好了,就怕某个人疯狂用
lbw???
是辣个男人吗
1 个赞
还是没理解 token_prefix
用来干嘛的
同样疑惑,我尝试?un=token_prefix设定的值拼贴users里面设定的某一个元素。提示用户不存在。
好像还是不行
mark
又更新了一版,现在可以了
又更新了一版,多个浏览器测试都没问题了
token_prefix可以留空的,加上这个只是为了避免username太短导致和别人的撞上
直接访问时不需要加token_prefix,这个只是在后台生成share_token的时候自动加的,避免短用户名遇上同名情况,如果不想用这个在变量值留空或者把代码这部分删掉就行,不影响功能
2 个赞