如何使用基于令牌的身份验证对在浏览器中输入 url 的用户进行身份验证?

Posted

技术标签:

【中文标题】如何使用基于令牌的身份验证对在浏览器中输入 url 的用户进行身份验证?【英文标题】:how to authenticate users who maually enter the url in browser using the token based authentication? 【发布时间】:2016-10-02 19:39:43 【问题描述】:

我正在通过传递 jwt 令牌使用授权标头从我的 Angular js Web 应用程序中对用户进行身份验证。我发现 Auth-interceptor 仅拦截从该页面发出的 http 请求。现在假设“mysite.com/page”需要身份验证并且用户在其他选项卡中手动输入它,我如何检查他是否已通过身份验证。我发现没有通过请求传递标头,并且即使他在另一个选项卡中登录,也发现用户“未登录”标签。

【问题讨论】:

使用$http 提出请求并检查身份验证。 【参考方案1】:

您目前在每个请求之间将 jwt 令牌存储在哪里? 您可以将其存储在 localStorage 中。

然后在您的 auth 模块的 run() 函数中,您可以检查本地存储中是否有可用的 jwt 令牌。如果是这样,您可以使用它。

本地存储可用于同一域的所有窗口。如果用户在另一个窗口中打开您的站点,则会找到 localstorage 中的 jwt 令牌。

【讨论】:

好的,我怎样才能从服务器端找到用户是否有本地存储。你能告诉我任何参考吗。这是我第一次使用令牌 您不要从服务器端执行此操作。您将令牌存储在本地存储中。 1.您向服务器进行身份验证 2.服务器向您发送一个 jwt 令牌 3.您将其存储在本地存储中。由于它在本地存储中,因此可以跨 Windows 4 使用。在每个请求中添加此令牌 我可以参考一下吗

以上是关于如何使用基于令牌的身份验证对在浏览器中输入 url 的用户进行身份验证?的主要内容,如果未能解决你的问题,请参考以下文章

“GSSException检测到缺陷令牌” - 尝试使用Kerberos对在Windows上运行的Tomcat进行身份验证时

Web 应用程序的基于令牌的身份验证:如何缓存令牌?

在基于令牌的身份验证中使用刷新令牌是不是安全?

Web API 中基于令牌的身份验证,无需任何用户界面

使用不记名令牌/OAuth2 的 Azure Functions 根 URL 身份验证

在 HTTP 连接中使用基于令牌的身份验证时如何防止重放攻击