如何使用 NextJS 和 @auth0/nextjs-auth0 库处理 WebSocket 身份验证?

问题描述 投票:0回答:0

我在 ApiGateway 后面的 AWS lambda 上有一个长时间运行的 HTTP 请求

RestApi
。它在 29 秒的最大限制内保持超时。我想我会把它移到 WebSocket 来绕过限制。经过一番努力后,我设法让它工作得很好。

在前端,我使用 Auth0 JWT 来验证 NestJS 应用程序。身份验证在使用

@auth0/nextjs-auth0
库的 NextJS API 函数中发生在服务器端。所以 access_token 对前端客户端是不可用的。 JWT 被传递给 AWS 端的自定义授权者。

我现在想使用仅在服务器端可用的 JWT 对 WebSocket 进行身份验证。

通过 HTTP 请求处理对 WebSocket 服务器端的请求是愚蠢的。我错过了什么?

我是否以某种方式在 NextJS 端创建另一个 WebSocket 处理程序并以这种方式链接响应?我是否从前端客户端调用 WebSocket 并以其他方式处理身份验证?老实说,我有点迷路了。

更新
我走上了在 Next.JS 中制作 socket.io api 路由的路线。我得到了很好的工作。这似乎是一个合理的想法,因为

access_token
在那里可用。事实证明,Vercel 是不兼容的,因为无服务器功能具有限制性超时。

所以我想我需要一种方法来从 FE 进行身份验证。我不想求助于 FE 中的

access_token

authentication next.js websocket auth0 vercel
© www.soinside.com 2019 - 2024. All rights reserved.