上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图(根据用户名+密码实现OAuth2.0的登录认证):
上面的图很清楚的描述了当前登录login的流程,现在我们针对于login做成相关的微服务,解析如下:
请求方式:POST
服务URL: http://localhost:8080/user/login
参数类型:application/json
Headers: Content-Type: application/jsonAuthorization: Basic QXkjkdkYkhfeyKOKKHUM67ejfjeSfnrRdk5nPT0= Body:{"userName":"admin", ---也可以是手机号码等"password": "e10adc3949ba59abbe56e057f20f883e" } 返回值类型: application/json返回的结果集: {"code": "200","message": "Success","version": "v1.0","data": {"userInfo": {"userId": "00001","pwd": "e10adc3949ba59abbe56e057f20f883e","userName": "admin","mobile": "15875500000","telephone": "","wechat": "","email": "xxx@","status": "1","createTime": "-06-26"},"roleIds": "100","tokenInfo": {"accessToken":"4de55a69-e372-4766-acd3-1c419d6f2fda","tokenType": "bearer","webTokent":"uHSLjfJoQwU4t4PAqCzH1SN0fp7PUWKluPNS+x1dZ8R9Gx+NJkBI7w==","refreshToken":"d3d71594-5c3f-4a68-a7e5-b8d21c4fa73b","expiresIn": 34644,"scope": "read write"}}}
备注: 可以使用Postman工具进行测试
框架设计思想: 提供独立的commonservice-sso的微服务、提供component-sso的依赖组件、提供针对于用户登录的微服务客户端user-service微服务接口。
整个执行的流程如下:user-service ---> commonservice-sso ---> component-sso
这里还没有讲解到服务网关,后面会涉及到服务网关和sso单点登录之间如何实现服务认证和鉴权。完整的项目源码来源
愿意了解框架技术或者源码的朋友直接求求:贰一四七七七五六叁叁