我有一个网站,其中登录是通过Clerk完成的。当尝试使用 Cypress 进行测试时,我面临登录页面返回 401 的问题。
在隐身窗口中测试它时,我看到在 401 之后,它会执行另一个请求,然后该请求被重定向并成功。
响应标头是:
HTTP/1.1 401 Unauthorized
content-type: text/html
x-clerk-auth-reason: uat-missing
x-clerk-auth-status: interstitial
Vary: Accept-Encoding
Content-Encoding: gzip
Date: Tue, 20 Feb 2024 23:34:13 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked
搜索
x-clerk-auth-reason: uat-missing
响应标头后,我在 Google 或 Clerk.com 文档中没有找到任何内容。
然后,检查进一步的请求,我看到它们包含cookie
__client_uat=0
,所以我尝试了,它有效!现在我提出我的要求:
cy.visit('/my-login-page', {
headers: {
'Cookie': '__client_uat=0'
}
});
我想这就是 Clerk 开发应用程序的情况。
我希望这对将来的人有帮助! :)