IdentityServer身份验证AspCore和Angular Client最佳实践

时间:2016-10-25 09:26:16

标签: javascript asp.net authentication identityserver3 identityserver4

假设:

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

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

问题

对于普通用户,使用asp核心和oidc客户端完成auth。我在asp核心中使用访问令牌来访问api。

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

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

1。)我做了一个"沉默"使用oidc客户端在javascript中验证。 (感觉像重复的工作)

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

3。)(感觉像嗅觉)使得/ me / token等授权端点返回access_token

此方案中的预期方式是什么?

1 个答案:

答案 0 :(得分:0)

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

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