我在架构方面遇到了困难,并想知道是否有人有一些见解.
计划
- 我将提供多个微服务(不同的laravel项目,catalog.microservice.com,billing.microservice.com),每个都提供一个API.
- 除此之外,还有一个角度正面消耗这些API.
- 我将有另一个微服务(passport.microservice.com)为auth现在感谢laravel 5.3护照这更容易.
流程:
- 用户访问catalog.microservice.com
- 用户需要进行身份验证并提供用户和密码
- 请求由angular(aka客户端)通过密码grand类型发送到passport.microservice.com以获取授权令牌
- 现在我有一个令牌,我被授权从catalog.microservice.com调用资源
- catalog.microservice.com需要知道令牌是否有效并向passport.microservice.com发出请求(某种中间件?)
- passport.microservice.com返回用户,范围等.
问题:
- 这是一个好方法吗?
- catalog.microservice.com中的令牌验证可以是中间件吗?