问题标签 [bearer-token]

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 回答
10198 浏览

angularjs - 我应该在哪里将 Bearer 令牌注入 AngularJS 中的 $http?

接受用户凭据后,我获取 Bearer 令牌 [1] 并更新默认标头:

这是在 $scope.signIn() 方法的末尾完成的。令牌会在整个会话中保持不变还是我应该使用其他技术?

[1] https://github.com/doorkeeper-gem/doorkeeper/wiki/Client-Credentials-flow

0 投票
0 回答
336 浏览

angularjs - Where should I store the API token to get it persistent throughout the AngularJS app?

I fetch the API tokens for the current user when he signs in. This token needs to be persistent throughout the entire session.

I started by updating the default headers after the token was generated, but that update disappears when refreshing the page.

I tried to store it using $cookieStore.put('API-TOKEN', token), but that didn't work as it was saved with the /user path. Making it only available from the /user scope.

Storing it in a Session fabricator also failed as that where emptied on every page refresh. My next attempt will be to store it using sessionStorage. Perhaps with the help from http://ngmodules.org/modules/ngStorage .

Which method is the preferred way?

Cheers, Martin

0 投票
1 回答
808 浏览

node.js - 使用 Passport JS Bearer 进行全局身份验证

我有以下用 NodeJS 编写的代码,它在路由中间件中使用 Passport JS Bearer Authentication。

我不想将其用于每个端点,而是passport.authenticate想将其全局应用于每个端点。

我尝试了以下中间件顺序但没有运气

当我到达端点时,我得到一个 401。如果这有帮助或有意义,我看到它是“OPTIONS”类型而不是“PUT”。(使用 chrome 从我的应用程序的 UI 测试我的端点)。

0 投票
3 回答
16701 浏览

c# - 如何在客户端获取 DotNetOpenAuth.OAuth2 返回的错误消息?

我正在使用ExchangeUserCredentialForToken函数从授权服务器获取令牌。当我的用户存在于我的数据库中时,它工作正常,但是当凭据不正确时,我想向客户端发回一条消息。我正在使用以下 2 行代码来设置错误消息:

但在客户端,我只收到协议错误(错误 400)。您能帮我如何在授权服务器上获取服务器端设置的错误消息吗?

来自授权服务器的完整应用配置:

0 投票
1 回答
890 浏览

authentication - 身份验证失败时 Apache Shiro 中的预期响应?

我已经实现了不记名令牌身份验证(在每个请求中使用客户端 ID 和标头中的访问令牌进行身份验证)。

当我使用错误的凭据(访问令牌)时,我会返回一个空正文的“200 OK”,这是预期的吗?不应该是401或404吗?当我使用正确的凭据时,我会返回“200 OK”预期的 Json 响应以及正文内容。

我正在使用 DefaultPasswordService 和 AuthorizingRealm。也许我错过了什么?

使用 Shiro 1.2.3

0 投票
1 回答
778 浏览

login - 没有承载令牌的 MVC 5 Web API 登录

长话短说。我在每个页面的标题中都有一个登录表单,当我成功登录时它工作正常,但是当用户不正确时,例如它重定向到默认登录页面(最初使用 MVC 项目创建的视图)与模型错误。我不想这样做,我想在登录表单旁边显示错误而不重定向。所以我决定通过 WEB API 实现登录 - 即它$.ajax向登录 API 控制器发出 jQuery 请求,尝试登录用户并在需要时返回错误,以便我可以将它们输出到我想要的地方。

我见过的所有例子都说使用承载访问令牌。我不明白为什么我需要走这条路 - 将令牌保存在某处并将其与标头中的每个请求一起传递?这就是我在登录 API 控制器中所做的:

这与创建 MVC5 项目时开箱即用的功能相同。我只是将它从常规控制器移到 API 控制器。它无需处理一些不记名访问令牌即可工作。如果你能像我一样做,那有什么意义呢?我认为当您使用不记名令牌时,它只会使请求更加复杂。我错过了什么吗?

0 投票
1 回答
14192 浏览

c# - OWIN 承载令牌认证

我有一些与 Bearer Token 有关的问题。在 Owin 中,您可以Protect(ticket)像这样保护票证:

现在令牌将是这样的:

nqak-9R6U64Owsm_lqn_mJzKc_Djd8iVnIw0EX77v5x2rybhf4m_zg_UnrsoO5BxDZQl0HWrSvvd4efa4ChNSf5rAGhd13aOXZlvwOJOZ5v_9bhRCq8A7tqHyiM6DqVVOyYs3lh2SU-wU1m85HH2IcYDtdTY3ijaKZ_QnP1nsqO5LRnnEL4upbETPW9zqWIZzZBX7_Y2cXi2v0K7WnlRor3gFKIZlU9J-NfidRpWXqq5744NfWWHalYADGS7eUWyuxPJCj9ykHYzaXFksJEXBw

我的问题:

  • 这个令牌是如何生成/加密的?

  • 是否有人可以尝试弄乱令牌并向其添加一些自定义声明?

例子:

如果你有令牌字符串,你可以这样做:

现在您可以为其添加自定义声明。例如,如果有一个role具有价值的声明,user那么您可以修改该声明并添加admin然后重新编码票证,您将获得一个具有管理员角色的令牌。

我实际上做了一些测试,在服务器上编码了一个令牌,然后尝试在另一个系统上修改它,但我做不到Unprotect。因此,我在想票证可能是使用最初创建的机器密钥加密/解密的。但是,如果我尝试Unprotect从同一台机器上运行它。我可以解密并修改它。

有人可以解释一下这个过程吗?

0 投票
1 回答
238 浏览

oauth-2.0 - GetAccessToken 给出错误数据异常

我需要创建一个 OAuth2 授权服务器并使用 DotNetOpenAuth。我能够收到一个 Access_Token,但是当我想从我的 ResouceServer 访问资源时,我得到一个神秘的错误“坏数据”。我无法弄清楚数据有什么问题。(以及如何解决它)似乎我得到了一个正确的令牌。当我“损坏”令牌时,我会收到另一条消息。我使用以下代码调用资源服务器(这在我连接到 Google OAuth2 服务时有效)

(我知道,令牌不应该在文本框中......但首先让我们让它工作;-)

然后我访问 userinfo.aspx 中的资源

0 投票
1 回答
190 浏览

security - ASP.NET Web API 安全令牌生成机制

我正在使用 ASP.NET Web API 生成可供经过身份验证的用户使用的可公开访问的服务。我正在使用基于令牌的身份验证(OAuth Bearer 令牌)。ASP.NET 具有内置的一切。我有以下澄清

  • 用于在内部生成此令牌的确切过程是什么。框架是否使用某种键?
  • 如果我将其移至农场环境,这将如何工作。
0 投票
1 回答
108 浏览

c# - 使用承载身份验证和 webapi2 设置上次登录时间

我正在使用带有 webapi2 的不记名身份验证来针对我的 REST API 进行身份验证。当用户成功进行身份验证并取回令牌时,我希望能够在我的用户存储中设置用户上次登录的时间。我该怎么做呢?成功登录时执行代码的地方是否有挂钩?

到目前为止,这是我的设置代码。我有自己的 IPasswordHasher 实现