up:: 企业级用户验证章节介绍
邮箱注册验证
很可能的会由公司去提供一个统一的邮箱,那不管是哪个邮箱呢,它主要的作用啊就是用于给用户去发送验证码的。
那么我们将在课程中演示的呢是 qq 邮箱,我们还会介绍在 spring boot 中如何去发送邮件,包括邮件的正文标题等等。
注册邮箱验证

1. 第一种主流的方式呢,是我们国内用的比较多的方式,也是我们课程中所采用的方式,就是去用验证码来验证。这里我简单介绍一下它的流程。在注册的时候呢,一般网页上会让我们先填写邮箱,然后会有一个发送验证码的按钮,当我们点击发送验证码的时候,就会往填写的这个邮箱中发送一个随机生成的验证码,当用户收到验证码,把验证码填写回来后,与系统所发送的进行比对,如果一致的,则验证成功,反之则验证失败。
手机验证码过程中所采用的邮箱验证的原理上是一模一样的,小伙伴可以把发邮件理解为发短信,其背后的原理包括验证码的生成,包括验证码的教验,包括重复教验这些呢。其实原理都是一样的。

2. 我们再介绍一下国外相对用的比较多的这种唯一链接的方式,国外和我们是不太一样的,他们一般的不喜欢让用户去提供验证码,他们喜欢在给用户的邮箱里去发送内容的时候能带一个很长很长的链接,这个链接其实你点了之后,就代表你验证通过了。这个原理呢,也是比较简单的。
是比较简单的,就是说,这个链接实际上就是访问我们的某一个接口,并且呢,这个接口里面会带一个参数,而这个参数就带着个人信息,在给每个邮箱去发送邮件的时候,这个链接的都是各不相同的,所以如果你能访问到这个唯一的链接,也就意味着你真的是这个邮箱的主人,因为这个链接呢,我只会发到这个邮箱。如果你能获取到链接,说明你已经能登录邮箱并且能收到这个邮件了,这样的也就能够证明你的身份了。
课程里采用的是国内用的比较多的第一种验证码的方式。
注册邮箱验证的流程图
首先,第一步,用户在我们的网页上会有一个点击发送验证码这样的一个按钮,它点击之后呢?我们的内部系统中会去检查它是否已注册,那如果能发现这个没有被注册过,那么我们就会把这个用户信息呢放到缓存中并且给用户的邮箱去发送一个验证码,那假设说发现已经注册过了,我们会拒绝他继续注册,因为两个用户是不允许使用同一个邮箱的,那下一步呢就是由用户自己去邮箱里收到一个验证码了,他收到之后呢,把这个验证码复制一下到我们的网站中,继续去注册,去输入验证码提交注册。我们会去缓存中去校验这个验证码,看他输入的对还是不对?如果说发现已经过期或者注册过?他的验证码和我们所存储的不一致,那么我们也要去拒绝他的这个注册,那假设他能通过我们的层层教验呢?最后呢,就说明这个用户去注册成功了。

下面我们就进入到代码和实操的环节,这里主要分为三个步骤,第一步要去配置邮箱,然后第二步呢就要开发通过邮箱来发送验证码相关的代码。第三步就要对之前的用户表进行字段的更改,以及呢去修改相关的注册接口。那下面我们就进入到第一步。
