如果我有令牌,如何认证用户?

时间:2019-05-22 12:10:34

标签: spring spring-boot authentication spring-security token

我有什么?

Spring,Spring Boot。我有春季保安和职位。有些页面是公开的,有些页面是私有的。我有登录页面来验证用户身份。 我可以生成有效令牌。 我有用户存储在我的数据库中。

我想实现什么?

F.e。用户尝试访问私人页面,并看到带有一个附加按钮的常见登录表单。按下该按钮后,我要绑定令牌和该用户。之后,该用户可以看到私人页面。

问题

如何使用我的令牌验证该用户?

更新

我想做以下事情:

  1. 用户单击登录页面上的按钮,然后重定向到外部站点
  2. 用户输入其凭据,然后将其重定向回我的网站
  3. 用户已在我的网站上通过身份验证。

同时,他可以在我的网站上输入他的凭据。

这时,除了第三点,我一切都很清楚。我知道我需要认证的所有有关用户的信息(密码除外),我可以为他生成新令牌,但是我不知道如何完成此过程。请帮帮我!

1 个答案:

答案 0 :(得分:0)

因此步骤将是

  1. 您需要在服务器端实现Spring Security

2。您需要在服务器端添加jwt或oAuth支持

3。使用Spring Security Bcryptor密码在数据库中注册新用户

现在,当用户首次登录时,您需要执行以下步骤

1。如果安全凭据有效,Spring Security将对用户进行身份验证

2。如果用户通过了身份验证,则无需在登录响应中发送有效的jwt令牌到UI

3。将令牌存储在浏览器的本地存储中

4.Now,在您的前端编写一个拦截器,并在对服务器的每个请求中添加“添加身份验证令牌”

5。在服务器端编写一个jwt验证器服务

6。如果令牌有效,则允许访问,否则抛出401异常

7。注销后,从本地存储中删除令牌

8。如果在本地存储中未找到令牌,则将用户重定向到登录页面

Reference link