问题标签 [http-token-authentication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
739 浏览

python - 如何在 django 中使用中间件同时处理基于会话和令牌的身份验证?

我想在我的应用程序中同时使用令牌和基于会话的身份验证,并且优先级为令牌。我创建了两个具有相同 URL 的门户,一个使用会话,另一个使用令牌。因此,当会话在 cookie 中可用时,基于令牌的请求会失败,并显示“CSRF 令牌丢失”错误消息。

我想到的一种解决方案是使用中间件,我可以优先考虑令牌。如果两者都在请求中可用,则自定义中间件将删除与会话相关的内容并仅保留与令牌相关的信息并继续。

如果有人对此问题有可用的解决方案,请在答案中发布?

提前致谢。

0 投票
2 回答
3619 浏览

javascript - 服务器呈现的 React js 代码的身份验证会话技术?

我正在编写一个React.js非单页应用程序。我一直在使用auth tokens存储我的身份验证会话,这些会话通常适用于单页应用程序。但就我而言,每当客户端直接从地址栏发出请求时,我都无法执行将置于请求标头中的 js代码。auth token

我宁愿不使用它cookies来处理这个问题,尤其是当我打算将我的应用程序转换为单页或同构应用程序时。还有其他方法可以在我的应用程序中维护会话吗?

0 投票
1 回答
408 浏览

authentication - Web API 保护了多少基于令牌的身份验证

基于令牌的身份验证以这种方式工作

基于令牌的身份验证系统背后的一般概念很简单。允许用户输入他们的用户名和密码以获得允许他们获取特定资源的令牌 - 无需使用他们的用户名和密码。一旦获得了他们的令牌,用户就可以向远程站点提供令牌——它在一段时间内提供对特定资源的访问权限。

这如何被认为是安全的,因为当服务器向客户端颁发令牌时,任何黑客都可以在中间窃取该令牌并作为有效客户端出现在服务器面前。那么告诉我如何生成防盗令牌?

讨论如何非常安全的方式令牌可以在服务器和客户端之间来回传递,这样中间人就无法破解。

0 投票
3 回答
1664 浏览

javascript - nodejs/ExpressJs 和 Angular(单页应用程序)中基于令牌的授权

在我的应用程序中,在注册用户时,我在 MONGO DB 中使用这些字段保存用户名、密码和 jwt 生成的令牌。当用户尝试使用正确的凭据登录时,我将使用存储的令牌发送响应。然后在客户端(在我的控制器)我正在使用本地存储来存储令牌,以便我可以为客户端发送的每个请求发送相同的令牌。但是我发现有关此过程的一些问题:

  1. 我每次都为一个用户生成相同的令牌。因此,如果任何第三人能够获得令牌,那么他就可以访问受限页面。
  2. 我是否通过将生成的令牌存储在 MONGODB 中来浪费数据库中的空间
  3. 除用户外,任何人都可以访问存储在本地存储中的令牌。
  4. 对于我的单页应用程序中的每个请求,我再次查询 mongodb 以获取该用户的令牌并进行验证。在这里,我正在检查客户端和服务器端。

我正在使用 jwt 在我的应用程序中生成令牌、节点、Express、Mongoose

我是否遵循良好的程序。如果没有,您能否为我的方法或任何新方法提供解决方案。我已经在许多网站上搜索了基于令牌的授权和基于会话的授权,但对我没有任何帮助。注意:我是 Nodejs、AngularjS 的初学者

0 投票
3 回答
35754 浏览

login - django rest 框架 - 令牌认证注销

我已经根据django rest framework Docs实现了 Token Authentication 。

从我所读到的,DRF 的令牌身份验证非常简单 - 每个用户一个令牌,令牌不会过期并且始终有效(对吗?)。

我知道那里有更好的做法,但现在 DRF 令牌身份验证对我来说很好。

我的问题是-使用普通 DRF 令牌身份验证注销的最佳做法是什么?

我的意思是,当用户注销时,我应该从客户端删除令牌吗?然后在登录时再次获取令牌?我应该删除令牌并生成一个新令牌吗?

有这方面经验的人吗?

0 投票
1 回答
2646 浏览

view - django rest 框架 - 添加到 views.obtain_auth_token

我已经使用 django rest 框架实现了令牌身份验证,我可以将用户名和密码发布到/api-token-auth/并获取令牌。

除了token之外,我还想获取User与返回token相关的对象。

如何覆盖/添加到此视图并返回实际的用户对象?

0 投票
0 回答
722 浏览

java - Build and use Cookie for token based authentication to gain access to api through openAM

Please excuse me if any of this sounds very stupid or inexperienced, however I have looked everywhere else and haven't been able to find a simple explanation as to how to properly implement this.

So far I have made a restful call to a server running on openAm; the call sends my user name and password credentials and returns to me a secure token. I then need to make another restful call to request certain json files in their api.

I understand that in my second restful call I need to somehow embed the token with it so the server knows that I am allowed to access the requested data. My question is what is the proper way to go about this. I have found/heard of multiple possibilities such as passing it in the header, parameters, or as a cookie, but each time my request is redirected to the log in url instead of returning my request.

From my understanding it appears the cookie method works best (if I'm wrong then please post a different method). So for openAm authentication, how do I properly build a cookie with my token. Once the cookie is built how do I embed that into the connection. Do I need to make a whole new connection or can I redirect my original connection with the cookie? Any help or advice is greatly appreciated.

Some of my code, using HttpURLConnection:

#xA;
0 投票
2 回答
1262 浏览

rest - Magento 实现基于令牌的身份验证

我在这里看到了一些文档来创建基于令牌的身份验证。 http://devdocs.magento.com/guides/v1.0/get-started/authentication/gs-authentication-token.html 但我不能让它工作。此示例中的 url 不起作用。我是 magento 的新手。请帮助集成令牌身份验证,因为我必须将它与移动应用程序集成。

0 投票
1 回答
3205 浏览

authentication - 基于 Web api 令牌的身份验证:- 无法从 base64 字符串解码令牌以获取用户名和密码

我正在使用 OWIN 中间件使用基于 Web Api 令牌的身份验证;令牌已成功生成,但我无法对其进行解码;例如,我无法从中提取用户名和密码;这是我的配置我的启动代码

我用于发送令牌的代码是

我的验证码

and the code failed when trying to decode the code from base64 string note:- my sample token is 3K8vHKHA2ZsKfKbvzUbo4a2sat2JLzvvyxCZ0KSD6s1wUS3t3oDPXuQ89aTmGpsG4ZL8O0cr8M9EUeZGtdM6FBwR7gLFcLZkTaimFGKyyZMNce9trQavVTzs6gam6qach1rPTLv_gIYGgPmM-401PZsr89BIXw4acTpJL3KbXs8y7PQ-o-eTV2IA8euCVkqC02iEnAzmS0SwhBouISCC-HvcNpE2aNixg4JXEt8EslU you can see the attached for the exception在此处输入图像描述

0 投票
3 回答
33528 浏览

oauth-2.0 - 使用 JWT 令牌认证时是否真的需要刷新令牌?

我正在引用另一篇讨论使用 JWT 刷新令牌的 SO 帖子。

JWT(JSON Web Token)自动延长过期时间

我有一个具有非常通用架构的应用程序,我的客户端(Web 和移动设备)与 REST API 通信,然后再与服务层和数据层通信。

在此处输入图像描述

我了解 JWT 令牌身份验证,但我对如何使用刷新令牌有点困惑。

我希望我的 JWT 身份验证具有以下属性:

  1. JWT Token 的有效期为 2 小时。

  2. 客户端每小时刷新一次令牌。

  3. 如果用户令牌未刷新(用户处于非活动状态且应用程序未打开)并过期,则他们需要在想要恢复时登录。

我看到很多人声称使用刷新令牌的概念可以使这成为更好的体验,但是,我看不到这样做的好处。管理它似乎增加了复杂性。

我的问题如下:

  1. 如果我要使用刷新令牌,那么为该令牌的良好实践长期到期是否仍然有益?
  2. 如果我要使用刷新令牌,该令牌会与 userId 和/或 JWT 令牌一起保存吗?
  3. 当我每 1 小时更新一次令牌时,这是如何工作的?我是否要创建一个接收 JWT 令牌或刷新令牌的端点?这会更新我的原始 JWT 令牌的到期日期,还是创建一个新令牌?
  4. 鉴于这些详细信息,是否需要刷新令牌?似乎如果用户只是使用 JWT 令牌来获取新令牌(根据上面的链接),那么刷新令牌已过时。