问题标签 [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 投票
1 回答
1560 浏览

ruby-on-rails - authenticate_with_http_token 评估为 nil

我正在尝试创建一个非常基本的身份验证器,但不幸的是我得到了 nil 作为回报,导致我的路由到 401,因为它未经授权。

代码:

0 投票
2 回答
38108 浏览

rest - JSON Web 签名 (JWS) 和 JSON Web 令牌 (JWT) 有什么区别?

我一直在用 Java 编写一个 RESTful 服务。这是我到目前为止所理解的(如果我错了,请纠正我):

令牌授权是使用JSON Web 令牌 (JWT)完成的,它具有三个部分:标头、有效负载和机密(在客户端和服务器之间共享)。

我理解了这个概念,并在阅读 JWT 时偶然发现了JSON Web Signature (JWS) 。

JWS 也是一个类似于 JWT 的编码实体,具有标头、有效负载和共享密钥。

问: JWT和JWS这两个概念有什么区别?如果它们在技术上相似,那么它们的实现有什么区别?

这是我第一次使用基于令牌的身份验证,所以我可能完全误解了这个概念。

PS 我在浏览本网站上的示例时了解了 JWS 。

0 投票
2 回答
2979 浏览

ruby-on-rails - Rails JSON API 的简单令牌认证注销

我有一个 Rails 应用程序(主要是一个 JSON API)我正在使用Devise使用来自任何来源(web、移动)的 JSON 请求进行身份验证,并且我正在使用简单令牌身份验证来使用 HTTP 标头对用户进行身份验证。

我不确定实现应该是什么样子,但我已经起草了一个几乎可以工作的实现。

只有一个问题。那就是当用户尝试注销时...通常它应该使用户的身份验证令牌无效...但事实并非如此,我不确定问题出在哪里...无论是与设计还是Simple Token Auth...所以非常感谢任何帮助。

但这是代码

会话控制器是这样的

前面提到的行似乎有问题...当用户提供错误的令牌标头时,它仍在工作并且当前用户指的是首先不应该进行身份验证的用户..例如这里有 2 个调用来回,规格

这也在Github上报道

为了完整起见,这里是应用程序控制器

0 投票
1 回答
87 浏览

security - 使用其他提供商身份验证服务(如 Soundcloud)时令牌身份验证的安全性?

Soundcloud Connect 按钮的用户登录过程

  1. 按下网站上的按钮并使用 api 服务器生成的随机令牌启动会话,而无需在 Soundcloud 上对用户进行身份验证。
  2. 用户被重定向到 Soundcloud 身份验证页面(soundcloud 登录页面)。
  3. 用户应输入他/她的 Soundcloud 帐户信息。
  4. 按下连接后,在 api 端调用一个方法,根据 SoundCloud 发送的参数创建用户及其身份验证。并且 api 服务器将用户重定向到主页,客户端中的脚本将令牌设置为标头作为对网站的授权。

现在,我担心的是在用户通过 soundcloud 连接之前启动会话,即使用户不连接到 SoundCloud 就无法进入主页。

这种验证用户的技术是否安全?潜在的攻击是什么?

0 投票
1 回答
3772 浏览

angularjs - Django REST框架+ Angular项目上的令牌认证

我正在使用 DRF 和 Angular,其客户端环境是移动设备。

我发现了一个 django-rest-auth包。

我毫不犹豫地选择了它,因为它提供了 TokenAuthentication 功能,它适用于移动客户端。

当我发送登录请求时,客户端会收到一个令牌。

在此处输入图像描述 然后,我在请求成功回调中添加了一个波纹管。

在服务器的控制台,关于传入请求的输出如下

'HTTP_AUTHORIZATION': 'Token 3fae470d169adb550e538c99a754fcfbe3485f75'

但是,我看到了一个意想不到的结果,像这样:

根据这里,如果我发送带有令牌的请求,那么额外的身份验证工作将自行处理。

我应该添加其他代码来完成身份验证吗?

(例如,将令牌注册到 django 的会话存储中。)

我想听听你的建议。

0 投票
4 回答
10875 浏览

asp.net - 如何在 Asp.Net Web API 2 中使用 Owin OAuth2 修改令牌端点响应正文

我想从令牌端点响应修改响应正文。

我试图用 MessageHandler 拦截/Token请求,但它不起作用。

我可以通过覆盖该OAuthAuthorizationServerProvider.TokenEndpoint方法向响应添加一些附加信息,但我无法创建自己的响应正文。

有没有办法拦截/Token请求?


编辑

我发现了如何从令牌端点响应中删除响应正文内容,如下所示:HttpContext.Current.Response.SuppressContent = true;

这似乎是实现我的目标的正确方法,但现在当我使用该context.AdditionalResponseParameters.Add()方法添加我的自定义信息时,SuppressContent阻止任何更改。

现在我有这样的事情:

0 投票
1 回答
642 浏览

owin - 使用令牌身份验证的 Owin 托管 Web 应用程序

我正在尝试使用令牌身份验证创建一个 owin Web 应用程序,我的启动没有任何特殊设置,如示例

https://github.com/NancyFx/Nancy/wiki/Token-Authentication

我的很简单

我的模块定义如下

我知道的还不多,但是当我进行标记时,我得到了 Nancy.ErrorHandling.RouteExecutionEarlyExitException 类型的异常,它在消息或堆栈跟踪中确实没有任何内容来指示问题。

我目前在 .NET 4.5.1 的 casini 中通过 http 托管

任何指针将不胜感激

更新:

消息是:

我尝试像这样设置startup.cs

但我得到了以下异常

所以我删除了引导程序并离开了 Startup。当您声明构造函数 public 时,一个实例化的标记器似乎被传递到模块中HomeModule(ITokenizer tokenizer) 所以我不认为创建标记器是一个问题

0 投票
3 回答
2662 浏览

django - 运行时单元测试 Django Rest Framework 身份验证

我基本上想打开 TokenAuthentication 但仅用于 2 个单元测试。到目前为止,我看到的唯一选择是用来@override_settings(...)替换 REST_FRAMEWORK 设置值。

这是行不通的。我可以在装饰器之前和之后打印设置,并看到值发生了变化,但 django 似乎并不尊重它们。它允许使用测试客户端或 DRF APIClient 对象发送的所有请求无需身份验证即可通过。当我预计 401 未经授权时,我收到了 200 条回复。

如果我将相同的字典插入到配置文件夹中的 test_settings.py 文件中,一切都会按预期工作。但是就像我说的,我只想为几个单元测试打开身份验证,而不是全部。我的想法是 Django 在初始化后从不重新访问 DRF 的设置。因此,即使设置值正确,它们也不会被使用。

有没有人遇到这个问题并找到了解决方案?或解决方法?

0 投票
2 回答
989 浏览

security - Token based authentication with mobile devices in ASP.NET

I'm trying to build a mobile app that has a login functionality with an ASP.NET web api, and I need to implement the token based authentication,

what I need is, as a first time the user login using username and password, a new token will be generated with expire date along with a refresh token, I'm thinking of the refresh token because the user doesn't have to login every time the token expires,

the token is saved in the mobile device and in the database, so with each request, sends the token whether in the request header or with the posted data,

I don't exactly know how the token based authentication works in terms of sending the token encrypted or hashed to the user and processing the request in the server

Edit: an attacker in the middle can just read the token and start sending requests to the server using the token. I mean he doesn't need to know what the token actually means.

I created a class that has these properties (UserID,Token, RefreshToken, ExpiryDate), but I read that it is not a good approach,

I'm using AES for encryption and SHA256 for hash

Thank you for you help,

0 投票
2 回答
1616 浏览

python - Django Rest Framework Token Authentication 失败导致弹出

我正在使用 django rest 框架令牌身份验证。如果我调用一个 url,提供一个无效或已删除的令牌 (Token aesdghfhkjdsajgaadsa),我会弹出一个询问用户名和密码的窗口。我怎样才能避免弹出?我只需要一个回应

我正在使用给定的自定义令牌身份验证,

有解决方案吗?