如何从请求中解析 JWT 令牌 [Next-Auth]

Posted

技术标签:

【中文标题】如何从请求中解析 JWT 令牌 [Next-Auth]【英文标题】:How to parse JWT token from request [Next-Auth] 【发布时间】:2021-10-18 16:06:42 【问题描述】:

如何从即将到来的请求中解析 next-AUTH JWT 会话令牌。

我想从另一台服务器提取 JWT 令牌,以便在那里进行验证。

我正在使用 nextJs 和 next-AUTH

【问题讨论】:

【参考方案1】:

简短的回答你可以这样解析:

const getRawJwt = (req) => 
    try 
        if (!req.headers.cookie) 
            console.log("no cookie");
            return null
         else 
            const rawCookieString = req.headers.cookie // raw cookie string, possibly multiple cookies
            const rawCookiesArr = rawCookieString.split(';')

            for (let i = 0; i < rawCookiesArr.length; i++) 
                let cookieArr = rawCookiesArr[i].trim().split('=')[0]
                if (cookieArr.includes("next-auth.session-token")) 
                    return rawCookiesArr[i].trim().split('=')[1]
                
            
            return null
        
     catch (err) 
        return null
    

【讨论】:

以上是关于如何从请求中解析 JWT 令牌 [Next-Auth]的主要内容,如果未能解决你的问题,请参考以下文章

无法从 laravel 5 应用程序中的请求中解析 jwt 令牌

如何使用 Aws AppSync 将 JWT 令牌(或任何其他变量)从父解析器传递给子解析器

如何从节点 api 中的获取请求中解码 JWT 令牌

如何使用纯令牌(令牌作为字符串)从控制器 $jwtManager->decode($jwt) 解析 jwt 令牌

如何从 JWT 身份验证过滤器中抛出自定义异常

如何通过 Java/Kotlin API 从 KeyCloak 请求 JWT 令牌