【问题标题】:IdentityServer Authentication AspCore and Angular Client bestpracticeIdentityServer 身份验证 AspCore 和 Angular 客户端最佳实践
【发布时间】:2017-03-07 06:45:15
【问题描述】:

鉴于:

  • Asp MVC 核心客户端
  • 由 ASP MVC Core 托管的 JavaScript 客户端
  • Asp Web API

所有人都在使用 IdentityServer 进行身份验证

问题

对于普通用户,身份验证是通过 asp core 和 oidc 客户端完成的。我使用asp核心中的访问令牌来访问api。

现在一个javascript函数想要访问一个授权的api并且需要access_token。

在 javascript 中使用它的最佳做法是什么 我主要看到两个选项

1.) 我使用 oidc 客户端在 javascript 中进行“静默”身份验证。 (感觉像重复工作)

2.) 我将 access_token 存储在一个 cookie 中,javascript 可以在其中获取它(pot. unsecured)

3.) (感觉像一种气味)制作像 /me/token 这样的授权端点返回 access_token

这种情况下的预期方式是什么?

【问题讨论】:

  • 我也有同样的问题。我的 MVC 应用程序使用 Angular 客户端。我也喜欢现在最好的做法是什么。 A.t.m 我已经完成了选项 1。但这确实是重复的工作。
  • @ErazerBrecht ,我尝试进行“静默”身份验证,但似乎我需要先登录然后更新令牌,所以我在 MVC 和客户端登录了两次。您能指出我如何实施选项 1 吗?

标签: javascript asp.net authentication identityserver3 identityserver4


【解决方案1】:

您可以在 MVC 视图上呈现配置 AJAX 标头的脚本标记,以便您可以使用 MVC 中的 access_token 添加授权标头。

令牌是安全的,因为它们已签名,因此您可以在不知道签名密钥且时间有限的情况下更改它们。在使用令牌之前,还需要验证令牌。

【讨论】:

    猜你喜欢
    • 2017-09-03
    • 2015-05-30
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 2013-01-17
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多