通过vue spa进行身份验证

时间:2019-01-08 11:06:30

标签: authentication vue.js asp.net-core vuejs2 single-page-application

我遵循了一些有关在vue应用程序(具有网络核心api后端)中添加身份验证的指南。

https://medium.com/dev-bits/a-guide-for-adding-jwt-token-based-authentication-to-your-single-page-nodejs-applications-c403f7cf04f4

http://jasonwatmore.com/post/2018/08/14/aspnet-core-21-jwt-authentication-tutorial-with-example-api

我是一个具有身份验证的初级程序员,所以如果我的问题看起来很愚蠢,请原谅我。

这涉及向我的api登录方法发送用户名和密码,并获取jwt令牌(这是id_token还是访问令牌?)。然后,我使用Bearer授权在每个api请求中发送此令牌。一些指南(例如microsoft net core文档)中的jwt令牌包含角色信息。

这仅仅是jwt身份验证的基本形式。我已经阅读了一些有关令牌身份验证的内容,这些内容表明我登录时应该获得一个ID令牌,然后我将其交换为api访问令牌。这些教程似乎没有做到这一点-看起来只有一个令牌,它用于api访问和身份验证。

理想情况下,我想在我的Vue应用程序中实现oidc,但是那里的许多指南似乎都没有解决这个问题。

1 个答案:

答案 0 :(得分:1)

教程讨论基于JWT令牌的身份验证,它将发出JWT令牌以声明用户及其在应用程序中的访问权限。

当用户尝试使用用户名和密码登录应用程序时,服务器/ api端将对用户进行身份验证,生成令牌并将令牌发送回客户端。下次客户可以使用令牌访问服务器/ API时,则无需应用或系统记住或存储用户的凭据。您可以在该令牌中包含用户的基本个人资料信息(不敏感)和一些自定义声明,例如与角色相关的声明。如果要检查授权部分,则客户端和服务器端都应检查特定角色。

Id_token作为优化添加到了OIDC specification OpenID Connect )中,因此应用程序可以知道用户的身份,而无需发出其他网络请求。它包含用户配置文件信息(如用户名,电子邮件等),因此,如果您使用 OpenID Connect (Implicit Flow适用于SPA)进行身份验证和授权,则将获取ID令牌(用于标识用户身份)和访问令牌(可用于访问受保护的资源/ API)。

您没有使用OpenID Connect,因此该场景中没有ID令牌。

相关问题