【问题标题】:How to get bearer token to a aspnet razor page如何将不记名令牌获取到 aspnet 剃须刀页面
【发布时间】:2017-07-20 20:07:50
【问题描述】:

我对 asp.net WebApi 上的 Bearer Token 有疑问。我一直在创建 WebApi,但只是为了供某些客户端(Android、iOS)使用,但现在我需要在同一个项目中创建一个登录页面,我不知道如何处理这个问题,因为曾经使用过客户端应用程序,我只是向api/token 发出请求并获取访问令牌,但是如何从网页中获取呢?我需要使用 NodeJs 或 AngularJS 之类的后端吗?

这是终点:

app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions()
        {
            TokenEndpointPath = new PathString("/Token"),
            Provider = new ApplicationOAuthProvider(),
            AccessTokenExpireTimeSpan = TimeSpan.FromDays(300),
            AllowInsecureHttp = true
        });

【问题讨论】:

  • 只需向同一个端点api/token 发出http 请求,不记名令牌应根据返回方式在标头或正文中返回?
  • 但问题是,如果我需要创建更多页面来通过标头传递令牌?我需要将它存储在浏览器的某个地方!使用 nodeJs 会更容易做到这一点?
  • 不确定为什么要使用节点?只需将不记名令牌客户端保存在会话变量或类似变量中,然后您可以在向 API 发出请求时使用它。出于兴趣,您在客户端使用什么?查询?角?淘汰赛?
  • 我什么都没用。这就是为什么我要问如何保存这个令牌,如果我应该使用 NodeJs 来请求和获取令牌,或者来自 C# 的 HttpClient。我是网络端的新手。那么使用 Angular 应该可以解决我的问题吗?
  • 基本上,无论您在客户端使用什么来获取令牌(我使用 Angular 和 React,因为它们具有用于发出 http 请求的内置功能),然后您需要获取响应并存储令牌在客户端。阅读此stormpath.com/blog/…。它应该让您对客户端存储有一些了解。我再次倾向于使用 cookie,因为它内置了很多 .net MVC 的东西,但你也可以使用会话存储

标签: c# asp.net-mvc asp.net-web-api


【解决方案1】:

基本上,无论您在客户端使用什么来获取令牌(我使用 Angular 和 React,因为它们具有用于发出 http 请求的内置功能),然后您需要获取响应并将令牌存储在客户端中。阅读此https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage。它应该让您对客户端存储有所了解。我再次倾向于使用 cookie,因为它内置了很多 .net MVC 的东西,但你也可以使用会话存储

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    • 2019-06-13
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多