30天习惯养成

序言

今天是第五天了,越来越能体会到什么是“路漫漫”了,对于今天,可以用一句话概括,一上午画图,一下午敲键盘。

今日计划安排

我的一天

首先讲一下我今天画的图吧,为什么画图,主要是为了扩展我的登录服务,画图的过程中,画图的时候有一个问题一直困扰到我,看下图

客户端请求登录,由登录进行验证,验证成功则返回数据,但是有一种情况,如果B服务也可以直接访问,如何保证只让用户登陆一次呢,这个问题在之前我遇到过,解决方法也很简单,就是用户登陆成功后,给用户返回一个唯一的标识,下次访问的时候,带上这个标识(token)就可以了,但是方法简单实现真是千辛万苦, 由于我前面加了一个网关进行转发找具体的服务,刚开始的思路是每次访问服务都要进行token认证,token有值,但过期,则返回错误数据,token无值,也返回错误数据提示用户先登录,当有值也有效的时候则直接免登陆,但是我还要验证来自的前端是否是真正的前端,因此真实的客户端是需要验证,即要验证请求的来源,难道说每次在访问服务的时候都要进行客户端真实的验证?考虑到这一点,同时还要考虑登录验证,我就蒙了,无从下手,想着是否可以分开,我上网搜索了相关的方法,令人兴奋,有一个方案是单点登录,所以我就搜索了相关知识,找了很多终于有一篇博客详细介绍了,我就比对着人家的架构去画我自己的,最终画了一个简单的图如下:

在这个图中有一个认证中心,这个认证中心为所有的服务进行授权,授权的方式就是token,所以当想访问某个服务时,只需要请求它为你授权就行了,而我们的客户端认证就可以不和授权放在一起,把它放到了网关这一层,如果网关都通不过,很明显离我们的服务还远着呢,有效的提高了我们服务的安全性,这个思路有了,就是具体的细节了,考虑到的有客户端验证请求参数加密问题,token的更新问题,用户数据的同步性问题,基本上,图画的差不多了,中午看了会书,下午的时候我就开始写代码了,有了昨天的基础服务,我只需要改装我的服务就行了,对我的服务进行升级,使他更加的完善,思路清晰,代码写的也很快,扩展的这一部分写完后,就接着写注册服务,注册服务相对来说简单相比之前的总体架构设计,有了前面的铺垫,代码修改的更加容易。全部完成后,我这部分代码就可以成为我目前写程序的公共架构了,这也是我当初开始写的原因,写一个公共的基础架构方便后期程序的开发。完成了最重要的一部分后,我尝试这把我写的部署到docker,下次启动的时候就可以快速的用容器启动了,刚好可以复习我的docker容器的部署。其次我就开始学习Context包了,我总结了一篇笔记,想看的可以去看,主要解决了如何更好的控制Go中的协程。

明日计划

原文发布于微信公众号 - 陌无崖(gh_ebbdb61f463e)

原文发表时间:2019-08-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券