Authentication 如何为SPA+;应用程序编程接口?
好了,前面的问题很长 我正在开发Angular+.NET Core应用程序,我有点搞不清楚什么是为我的应用程序进行authN&authZ的最佳方式。 在之前的一段时间里,我要做的是在我的前端有一个页面,请求电子邮件和密码,然后通过POST发送到我的后端,在那里我会生成一个JWT令牌。然后,我将这个令牌存储在Authentication 如何为SPA+;应用程序编程接口?,authentication,authorization,single-page-application,openid-connect,standards,Authentication,Authorization,Single Page Application,Openid Connect,Standards,好了,前面的问题很长 我正在开发Angular+.NET Core应用程序,我有点搞不清楚什么是为我的应用程序进行authN&authZ的最佳方式。 在之前的一段时间里,我要做的是在我的前端有一个页面,请求电子邮件和密码,然后通过POST发送到我的后端,在那里我会生成一个JWT令牌。然后,我将这个令牌存储在localStorage中,并将其用于请求 但是,在读了一些文章之后,我注意到人们倾向于用另一种方式来做这件事。据我所知,事情是这样的: 创建传统的身份验证应用程序 当用户想要登录SPA时,将
localStorage
中,并将其用于请求
但是,在读了一些文章之后,我注意到人们倾向于用另一种方式来做这件事。据我所知,事情是这样的:
Users
表,用于获取其他用户数据(我知道可以添加到Auth0中的元数据,但每次需要使用用户元数据时都必须从Auth0获取数据不是更慢吗?&关系,但是当我的应用程序在localhost上时,钩子就不起作用了
不管怎样
TL;DR
- 是否有一种目前推荐的标准方法
- 我是否正确理解后一种方法实际上是如何工作的
- 我这样做是不是很不安全?据我所知,不安全性来自于将JWT令牌存储在localStorage中,但令牌实际上需要生成一个密钥,因此,如果恶意用户可以看到他们的令牌,这有关系吗?没有这个秘密,他们无论如何也不能篡改它