00:00
接下来我们为系统整合完整的社交登录功能,好那整个功能呢,我们可以通过一个流程图,我们来边整合,我们来边分析,首先在我们这个社交登录里边,我们需要有这么几个重要的角色,第一个是我们的这个用户,还有我们的浏览器,好我们来加上这个浏览器,然后呢,接下来就是我们当前自己的应用,比如我们的鼓励商城,哎,我们的鼓励妙。然后最后一个就是我们的微博,来看一下这四个都是人应该如何交互的,首先我们的这个用户呢,首先在浏览器上来点击我们的社交登录按钮来进行登录,好这是我们的第一步来连接上我们的社交登录按钮,首先用户来在浏览器上点击社交登录按钮,好我们的第一步来点击我们社交登录按钮,然后呢,这个按钮的链接它指向了一个地方,我们可以来看一下,这个链接呢,它是直接指向微博的,所以我们接下来把这个链接呢,我先来复制过来我们的社交登录按钮,相当于直接会跳转到我们这个微博,好把这一块呢复制过来CTRLC,我们来到这流程图里边呢,这个按钮的重要步骤,那就是我们要链一下我们这个微博,这个链接呢,我们来放在这儿。
01:22
当我们来点击他,那就会跳到微博,然后所以说我们接下来第二步。我们在浏览器上点击了这个按钮,浏览器就会给我们跑到这个微博,我们就来连上这个微博,好,我们在这来连上微博,这是我们做的第二步,我们跳转到微博的这个授权页面跳转。跳转到咱们这个微博的授权页面,这个授权页面呢,这是微博为我们提供的,好,我们现在过来看一下,点过来,由于我们之前已经登录过微博了,所以我现在直接给跳回来了,我把这个微博的登录我来退出,我来退出我们对微博的登录,好,然后呢,我们重新来在这儿来测试社交登录,我来刷新一下,我来点击微博,好,现在呢,跳到微博的这个授权页,那当我们来填写了账号密码,相当于我们用户自己来填写好账号密码,我们跳到这个授权页,只要微博给我们浏览器来返回了这个授权页,好,我们把这个。
02:23
返回我们这个授权页,嗯,第三步这是返回授权页,那我们这个用户呢,就看到了这个授权页,用户看到授权页以后呢,接下来用户在在浏览器上来进行自己的授权,那就输入他自己的账号密码来进行授权,好我们接下来在这是我们这一步,这一步呢,就是来输入我们的账号密码,输入账号密码进行授权,进行授权,那这一块呢,只要一进行授权,我们这个成功,但是我们这个微博要进行授权,我们授权完,我们一定要点击我们的这一块,我们叫登录按钮,好我来先写上验证码。
03:05
当我们来点击登录按钮,那肯定是登录给微博的,我来F12来看一下我们监控的这个network,来看我们来点登录的时候,他提交给哪,我来点击登录,好,我们发现呢,它会跳到一个之前的那个logo GSP,只不过我们这一块呢,没有录到那个过程,行,我们把这一块的过程放在火狐上,我们来测试一下,我们在火狐上来进行测试,我们来先来进入登录页,我们想要进行微博登录,我们之前呢,在这儿也测试过,那我们就将所有跟微博有关的这些登录状态我们都清空掉,把这个微博我们先过来,来直接点击我们退出功能。然后呢,我们在这儿来重新来测试登录我们关键的这一步,好,我们来监控网络,把这一块呢,我们先来清空掉,我们先来请登录,请登录我们的第一步,我们先来点击我们的社交登录按钮,好过来来到我们的这个微博页面,然后呢,我们来输入我们的账号密码,我把这一块呢先来清空,我们在这验证码相当于我们页面用户授权来我们输了账号密码,相当于用户就授权了,授权我们来点击登录,我们看跳到哪儿,我们来到这儿,好,我来点击登录,点击登录呢,它会跳到我们这个login,行了,相当于跳到我们这一块,那们来这个验证码不对,那我们重填一下,把这一块呢,我们来清空,好,我来点击登录,登录呢,我们来看整个的流程就是我们的登录会跳到我们的login页,但是这个login我们这块呢,也没有显示,没有显示,但是我们刚才输错的时候,我们看到了,那就不管了,好那现在账号密码进行授权,授权呢我们相当于就从他这儿我们要进行来一个。
04:45
来跳转好,我们相当于跳转到微博来进行登录功能,好来跳转到跳转到转到咱们这个微博进行登录,那接下来登录成功以后,关键就是我们在这个微博这一块来登录成功以后,微博呢,会重新给我们跳回来,跳回到一个我们指定的地址,所以呢,微博跳回的这个地址,我们看到它访问的是鼓励M,相当于跳回我们自己的应用了,所以呢,微博只要登录成功,那第六步那就是跳回我们自己的应用,但在没有进行第六步这个期间,整个呢,都是跨越了我们这个自己应用,所以我们自己应用呢,鼓励商城永远不知道我们微博的账号密码,好,我们在这儿,这是我们的第六步跳回,跳回。
05:34
我们的鼓励面相互呢,跳回我们之前指定的这个页面,但这个页面我们下一步要做很重要的操作,就是呢,它跳回这个页面的时候,我们来看它会带一个扣德码,我们之前呢,要用这个扣德码换取我们的access token,好,我把这个复制过来,但是这个扣德码要换取token,这个操作呢,要传我们的应用的key和应用的secret,我们之前换取过,在这这两个东西呢,肯定都是保密的,所以我们这一块不应该由页面处理,而应该由我们服务器真正的后台处理,所以呢,我在这儿来修改一个,我们不来写success了,我在微博这一块呢,我们来专门来修改一下,我们来修改一下我们重新的登录成功的回调页面,把这个页面呢,我们来改成一个我们自己能处理的请求,然后呢,我们在那里边来进行换取,好我们来稍等一下,在我的应用里边,我们这个鼓励商城,我们以前呢,成功直接跳到这个success页显示扣的。
06:34
这块东西呢,我们直接给他屏蔽了,怎么屏蔽呢,我们就来到这一块,我们在应用信息里边,好高级信息里边,我们把这个回调授权的这个回调页,我们就不叫success了,我们就叫o to。好,就叫also2.0,而且我们呢是微博,那我就叫微博,我们的success,相当于我们这个微博登录成功了,好我来点一个提交,我把我的这一块我来复制过来,那以后我们的页面链接地址呢,就写这个,好我先来页面把这个链接地址来改一下,那最终呢,成功以后它跳回到这,跳回到这呢,我们专门用一个ctrler来处理,好我现在在这来编写一个ctrler,这个controller呢,我们就叫o two。
07:23
Controller好,这个controller呢,专门来是来处理社交登录请求,处理社交登录请求好,然后我们先来写第一个,我们叫public string好,我们先来写一个string们就叫微博,然后呢,我们要处理的请求来写一个get monkey,好。我们要映射的请求呢,就是这一块,因为我们回调页的地址在这,然后呢,我们先来给它return,好,我们先来return一个空的,我们先来给它标上一个CTRL,然后注意如果我们微博真的社交登录成功了,跳回这个页以后,他呢会给我们带一个这个扣德码,所以我们这一块的链接地址来改一下,那现在不叫success了,我们叫also to微博success,好。
08:14
像微博登录成功了,我们就会来到这个页面,来到这个页面呢,相当我们来到这个地址,来到这个地址我们就要进行处理,那我们处理呢,它会收到一个扣得码,好我们在这个controller上,你就直接来写上在请求参数,请求参数它会问号带一个,我就叫按request po,那请求参数呢,会有一个扣德码,然后这个扣德码我们在这要根据根据咱们这个扣要换取一个access token,换取access token,只要我们能换来这个access token,说明登录成功,那登录成功我们就直接给它跳回到我们这个首页,所以呢,我们这个的快登录成功就跳回首页,第二个登录成功就跳回首页,所以呢,我们接下来这一步,最关键的这一步就是既然跳回到微博success了,那我们自己就要处理这个微博登录成功的这个回调,好,我们来在这。
09:14
来一个处理逻辑。我们就在这来加一个处理逻辑,我们这一步呢,就是第七步来处理微博登录成功,处理微博登录成功的毁掉,那我们这个微博这登录成功了,我们接下来在我们自己这处理,自己这怎么处理呢?微博里边关键的一步就是呢,我们要换取一个access token,好我们这个扣德码已经拿到了,我们接下来就来换取access token,怎么换取access token,那之前呢,请求是这样发的,发一个POS请求地址呢,发给这带上这么几个参数,好我们之前呢,有抽取过一个http us,好我们这个HTP的工具类们来找一下这个U,这us不是这个sound的,那我们之前是应用咱们这个第三方API的时候,我们来导过这个us,那如果这一块没有,们就把这个呢复制过来,来看一下,在第三方API里边,我们之前呢,用过一个HTV工具,它帮我们呢封装好了,发送这些各种。
10:17
用请求也很方便,好我把这块呢复制过来,把我们这个工具类呢,我就直接放到common里边,我们在us里边,好,我来放一个http us,这us呢要导一些依赖,什么HV client这些东西,主要是阿帕奇的这个htv client,当我们这个引用us的时候,当时人家也说了这个依赖呢,去哪导,能直接来在这来导一下,好那么在这来导入。我们这一块呢,有一个阿帕奇的HD这个依赖,我们主要来看上边是我们这个阿帕奇HD依赖。这个依赖,那这个依赖呢,我们直接去me仓库里边搜一下,或者去我们GI,我们当时来引用这个htp u的时候,我们当时来用的是阿里云,我们这个短信接口的时候,在这呢,演示我们这个Java代码来可以看一下。
11:13
那么这个Java代码这块呢,HVU在这。然后呢,我们的依赖是在这儿。我们把这个依赖这个po文件,我们拿来看一下,CTRLC复制过来。那么这个依赖呢,主要来依赖这些是阿帕奇HP coms这些东西,那么就直接将这一块的所有依赖你就复制过来就行了。CTRLC,好,我们把这一块的依赖呢,来复制在这ctrl all代码来整理一下,这个解unit就不用了,那主要呢,就是我们这个htv client这些东西,那来到我们这HTVS这一块呢,就应该会有引用,好接下来我们这些依赖呢,就导入成功了,那么这个htp us就能用了,我们直接在这个author to controller里边,我们使用它的这个工具类,它要发一个请求,Http us好点一个我们是要发post请求,那么就来写上post,先来指定主机地址,那么这个主机地址呢,我们社交登录关键的这一步。
12:15
我们要换取access token主机地址,那就是HTTP微博这个API,微博我们把这块来复制过来。好,我们放到这儿,然后呢,接下来他还要传一个我们这些pass路径,我们要给哪发请求,这个请求路径呢,那就是author token,就这一块,好,我来复制过来。来加上请求的路径,然后呢,再来加上我们的请求方式,那请求方式我们肯定是呢POS的请求,然后呢,最后来加上我们的请求头,查询参数以及请求题,那我们现在呢,请求头里边没什么数据,那我们就来写一个,那然后呢,接下来是我们的查询参数,它来需要一个map,诶我们这个请求体我们也来写一个呢,Get请求呢,没有请求体,但是我们发的是posts,那post就没有查询参数,查询参数我们先来一个呢,请求体呢,我们就要来指定一个map,好,我们在这来准备接收一个map,这个map呢,我们就先来new一个哈西map来封装数据,我们直接来一个,我来写一个map。
13:23
我们就叫string string。我们就叫曼普等于谬一伽哈西曼普。好,我们把这个map拿过来,我们放到这,让它来执行我们的破S请求,好,那就是这个map,然后呢,它只要执行成功,当然这一块呢,有异常,我们来给它抛出去,它这一块呢,执行成功,那就会给我们有响应数据,那这块响应数据呢,我们一会来解析,主要我们要换取access token给map里边要放一些数据,放一些什么好,我们这几个关键数据,第一个是client ID,这个呢是固定的,那么这个应用的ID呢,我们当时申请的时候,应用的ID和secret好,我们就直接复制来,这是应用的ID,还有他的secret这些信息,好,我来复制过来。
14:15
应用的ID,应用的secret好拿过来,然后呢,它的这个密码,那是我们这一块,还有我们的这个授权方式。我们把这个授权方式拿来,我们是使用这个授权码的,这种方式相当于我们要用一个code来换取授权码,还有我们的这个redirect uri redirect uri,这个UR的地址呢,我们现在变了。变成我们这一块的地址了,所以我们把我们的地址来拿过来,我们的地址呢,在这是HTTP,主要呢,我们微博这一块配的是什么,我们就来写什么,把这一块的授权页回调地址。
15:00
好,把这一块呢复制过来,然后呢,还要传一个来看一下我们的扣德码,这个扣德码我们来拿过来,好主要呢,变的就是这个扣德码,我们社交登录只要一成功,扣德码呢就过来了,那过来以后呢,我们就会来换取access talking这块只要换取成功,那么就给它跳转到我们的首页redirect,我们直接重定向到HTTP,那么就叫鼓励ma.com。好,我们把这块代码呢,重新这么来改一下。相当于我们这个页面只要去来社交登录,最终呢,我们只要收到code,在这来换取了我们这个token,我们就直接跳回首页,当token这一块换取,我们还要做详细的处理,那这块处理呢,我们先放到这。
我来说两句