我曾经在我的网站上有一个自定义的身份验证实现。我使用NestJs作为后端,当我登录时,后端用访问令牌响应,将刷新令牌设置为仅限HTTP cookie的刷新路径,一旦访问令牌过期,它将刷新访问令牌。现在我使用NextAuth,Nest不能再设置cookie了。我想知道刷新令牌的最佳实践是什么?我应该把cookie转移到前面吗?不打扰我改变逻辑和后端,只是希望最安全和最佳的做法。
gab6jxml1#
现在我使用了NextAuth,Nest不能再设置cookie了Nest会将cookie发送到浏览器。由于您正在使用next,您将在某个时候从getStaticProps或getServerSidePros内部发送请求,但这些功能在服务器上运行,因此它们与浏览器没有任何关系,因此它们不会发回cookie。我的建议是也将您的refreshToken发送到response中,并将两者都存储在next-auth session中,这样您就可以使用useSession()从下一个应用程序中的任何位置访问它们我不介意改变逻辑不是很多我只想要最安全、最佳的做法不可能在浏览器中安全地存储JWT标记。请参见here
getStaticProps
getServerSidePros
refreshToken
response
session
useSession()
1条答案
按热度按时间gab6jxml1#
现在我使用了NextAuth,Nest不能再设置cookie了
Nest会将cookie发送到浏览器。由于您正在使用next,您将在某个时候从
getStaticProps
或getServerSidePros
内部发送请求,但这些功能在服务器上运行,因此它们与浏览器没有任何关系,因此它们不会发回cookie。我的建议是也将您的
refreshToken
发送到response
中,并将两者都存储在next-authsession
中,这样您就可以使用useSession()
从下一个应用程序中的任何位置访问它们我不介意改变逻辑
不是很多
我只想要最安全、最佳的做法
不可能在浏览器中安全地存储JWT标记。请参见here