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

asp.net - MVC 6 使用OAuthBearerAuthentication

在使用 Microsoft.AspNet.Security 的 MVC 6 RCP 6 中,我能够使用自定义 SecurityTokenValidator。

在 RC 中,Beta4 中不存在 Microsoft.AspNet.Security,因此我将代码更改为使用 Microsoft.AspNet.Authentication,如下所示:(编译并运行,但 SecurityTokenValidator 永远不会触发。

0 投票
2 回答
6425 浏览

asp.net-core - 如何在 MVC 6 API vNext 中实现承载令牌?

我正在开发一个示例 SPA 应用程序以使用 ASP.NET 5。我正在使用 Visual Studio Community 2015 RC。

我被困在不记名令牌生成上。我需要为 AngularJS 应用程序生成一个令牌,以便我可以调用和验证 API。

0 投票
2 回答
7670 浏览

c# - OAuth 不记名令牌不起作用

我有一个 auth-provider 的最小设置,它设置了声明身份

我正在尝试访问 hello-world-api,这会导致未经授权的访问错误。

但是我得到了上述 API 的 401/未经授权的访问。我确实将不记名令牌返回给 web-api,并且我还将它作为Bearer ABCD****. 我确实看到在 Visual Studio 中调试时设置了授权标头。

如果我调试AuthorizeAttribute,我得到user.Identity.IsAuthenticatedas false,这实际上是导致问题的原因。但是鉴于我确实看到了 Authorization 标头集并且我已经在 中设置了声明详细信息OAuthProvider,为什么AuthorizeAttribute没有读取该信息?

注意:这是一个 Web API 项目,因此没有对 MVC AuthorizeAttribute 的引用。

这是 OWIN 设置:

0 投票
2 回答
6556 浏览

asp.net-core - JWT Bearer Token Flow

What I want is a method of JWT Generation and JWT Consumption in ASP.NET Core.

No OAuth2 flow, I do have the IdentityServerv3 working with OAuth2 but it is just overkill for a single app accessing an API when I own both sides.

The main source of difficulty I am having is finding out the equivalent of Microsoft.Owin.Security.Jwt in ASP.NET Core. Nothing in this list https://www.myget.org/gallery/aspnetvnext seems to relate. Or is that package actually to stay relevant in with ASP.NET Core?

0 投票
1 回答
524 浏览

asp.net-web-api - 从承载令牌中检索信息

我有一个在另一个项目中调用 WebAPI 的 MVC 网站。WebAPI 使用 OWIN 并实现 OAuth 安全性。我将使用承载令牌在 MVC 和 WebAPI 应用程序之间进行通信。我的网站要求用户在 AD 中,我正在检查 GrantResourceOwnerCredentials 方法。如果用户通过身份验证,我想在数据库中检索一些关于他们的信息,然后将其传递给客户端以在网站上显示。我将此信息作为新的声明放入 ClaimsIdentity 中。

这似乎正确地添加到 WebAPI 上的 ClaimsIdentity 中。但是,我无法弄清楚如何在 MVC 网站上检索此信息。当我在网站上提取 ClaimsIdentity 时,唯一存在的声明是用户名,它是从登录表单中检索到的。

不能这样传递信息吗?

0 投票
1 回答
2277 浏览

asp.net-web-api - MVC 控制器中的承载令牌以访问 Web API

我有两个项目:MVC、Web Api

在 Web API 项目中,我使用不记名令牌身份验证。此令牌将在 24 小时后过期。在我的 MVC 项目中,我想通过 MVC 控制器(服务器到服务器)调用 Web api 项目。最好的方法是:

  1. 获取令牌
  2. 24 小时后更新令牌(或任何到期时间)
  3. 调用安全操作方法

我的想法是使用 WebClient,但我不确定是否有更好的方法来解决这个问题。

我也不打算使用不记名令牌。但是需要一种可靠的方法来验证服务器到服务器和客户端(angularjs)到服务器(api)。

0 投票
1 回答
1793 浏览

angularjs - 将 Asp.net Identity 2 web api 从项目中解耦?

我按照这样的教程创建了一个 Asp.net Web API 2项目我已经扩展了身份模型,以便像这样为我的用户使用 int 键。现在我被困在如何将这个“Auth API”与我的核心项目完全分离。我知道拥有单个 DbContext 和拥有多个 DbContext 的许多优点/缺点。我现在的路径使 Auth 项目与包含所有其他业务实体和逻辑的其他“核心”项目完全分开。这是我卡住的地方。

我有一个 AngularJs 前端。我可以调用 Auth API 来获取访问令牌、刷新令牌、登录、退出等。然后我调用我的“核心 API”并在授权标头中传递不记名令牌。我查看提琴手,看到它被正确发送。问题是我在核心 API 控制器中的用户从未经过身份验证,并且我总是收到 401 响应。当“核心”API 与“Auth”API 完全解耦时,如何在“Core”API 中授权用户?我虽然只是发送不记名令牌就可以......我完全错过了什么吗?

0 投票
1 回答
3334 浏览

c# - 总是得到“此请求的授权已被拒绝”。在身份 2 中使用不记名令牌?

使用邮递员我可以请求一个令牌,这里是:

我还可以从不受保护的资源中获取信息,如下所示: http://localhost:60689/api/Accounts/User/bbauer

从那里我看到用户处于“管理员”角色。当我尝试获取受保护的资源时,我总是得到这个回复:“此请求的授权已被拒绝。”

这是控制器中的方法:

Here are my settings in postman: http://localhost:60689/api/Accounts/User/31
Content-Type: application/json
Accept: application/json
Authorization: Bearer N1FL606bmDkZyLplpkLAihaviMQhB042z-rhY262M_W5nSWIv8fDOQiYkEn6GCuDnrxpdOWBS7lpxlBazHYlwnP1RvpDFED1i_ml89QNspyGOWB6TcMkT1MmfUAZ617k9MNvl5UJh2jKzUwvDDeXMURG9tEtmE3UX2L2D-1VA9kqYOzOB1UYbpMAfdTi84jsbR0lhLkNkReQ5fqg4B3IFbbWNGWu5ONb1uuf00ixL-BIMqSvEaNn58_zCyAVFWVzcH2tayYTGT5p_AItKfYiWaYHKC0pDoZ_OBdlpB7Odc7ScwjwFM5vtpBZE81rpk8yjXnrTEk_j9n0eiloJnpWwA

我可以使用 fiddler 来验证正在发送的授权标头。需要注意的另一件事是,当我传入 access_token 以获取未受保护的 /user/username 资源时,我可以中断代码并使用以下设置查看 ClaimsPrincipal:
AuthenticationType: Bearer
IsAuthenticated: true
Name: bbauer

但是,如果我测试 User.IsInRole("Administrator") 它总是错误的。为什么是假的?AspNetUserRole 表有条目,当我获取用户时,我看到他的一个角色是“管理员”......在上帝的绿色地球上,我在这里错过了什么?

如果有帮助,这是我的 Startup 课程:

0 投票
4 回答
5719 浏览

oauth - OAuth 2.0 Bearer-Tokens 与 Mac-Tokens。为什么不使用 Mac 令牌?

我在这个主题中搜索了其他问题,但我没有找到答案。所以告诉我如果我错了。我是这个话题的新手,你可以很高兴地纠正我。以下是我目前的想法:

我现在在网上冲浪了 2 天,弄清楚授权网络请求的实际技术水平是什么。现在我很快发现 OAuth 2.0 似乎是最常见的标准。但是 OAuth 2.0 本身并不是标准化的。在我看来,每个更大的公司都有不同的自定义设置。但无论如何,有两种技术可以交换授权信息:Mac-Tokens 和 Bearer-Tokens。

在我看来,Mac-Tokens 提供了更多的安全性。那么为什么它没有被广泛实施呢?我能找到的唯一原因是它有点复杂。而且我多次听到不推荐使用 Mac 令牌,如果客户端不是 100% 受信任的,因为客户端必须存储秘密。但区别在哪里?无论如何,客户端必须存储授权信息。在我看来,它是不记名令牌还是 mac-secret 都没有关系。但不同的是,mac-secret(而不是 bearer-token)不是在每次请求时都通过网络提交的。

那么你能告诉我为什么不使用 mac-tokens 的合理原因吗?(除了有更多的努力)我错过了什么吗?或者我是否误解了这两种令牌技术。

感谢您的阅读和您的帮助。

0 投票
1 回答
1487 浏览

c# - 通过 Web API 在 Office 365 中创建草稿邮件

我有一个带有 EF 的 Web API 后端,并使用 AzureAD 对用 AngularJS 编写的 Web 应用程序的(office365)用户进行身份验证。

现在我想在我的 Web API 中创建一个草稿邮件,但我不知道从哪里开始。

我可以只在我的 Web API 中调用 Office 365 邮件 API 吗?发布https://outlook.office365.com/api/ {版本}/me/sendmail

但是我如何通过它传递身份验证令牌?

这是我现在使用的 Auth 配置,它适用于其他数据请求。

任何人都有一些示例代码来向 Office 365 API 发出正确的请求?谢谢!我是 Office 365 API 和此网站的新手: https ://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations

我不太清楚知道如何处理这个..