【发布时间】:2018-02-24 22:44:21
【问题描述】:
我有一个使用微服务架构实现的应用程序。有一个使用 jwt 标准的身份验证服务(A),应用程序中还有其他服务,如 S1、S2、S3 等。 现在例如 S1 收到一个请求,它应该验证令牌以查看用户是否被授权。验证可以通过:
- 将令牌从 S1 发送到 A,然后 A 验证令牌并将结果发送到 S1(这是一种开销)
- 在 S1 中验证令牌(这是每个服务中的重复操作,还需要每个服务中的密钥或公钥/私钥,用于签名/验证)
我不是在问这些方法究竟是如何工作的。问题是,其中哪一个更好?或者在这种情况下最佳做法是什么?
【问题讨论】:
-
深思熟虑。身份验证与授权不同。 (这里的上下文是 OAuth 和 OpenID)cakebaker.42dh.com/2008/04/01/… 您可以在设计中考虑这一点,因为您在上面的描述中“双重使用”“A”。
标签: rest authentication architecture cloud microservices