我正在使用微服务应用程序,其中客户端应用程序使用POST
调用将access token
发送到orders
微服务。保存订单时,应调用库存微服务以更新库存。库存微服务updateIntentory
方法也应受到保护。
在此用例中,我应该将相同的access token
传播到inventory
微服务并限制API访问以更新库存,还是应该使用client-credentials
授权流以允许order
微服务中的saveOrder
方法调用inventory microservice
中的updateInventory
方法。
注意:order
和inventory
微服务都充当资源服务器。正确的方法是什么?
2条答案
按热度按时间irtuqstp1#
问得好:
边界
如果您要调用属于其他人的外部API,您肯定会使用客户端凭据来获取授权您调用该API的令牌。
微服务
如果数据所有者是同一个人,那么你只需要转发访问令牌。这就是OAuth的工作原理:一个可扩展的架构,只需要简单的编码:
Scope Best Practices文章针对真实的系统对此进行了说明。
高特权操作
在高安全性操作中获取新令牌是很常见的,例如使用支付范围重定向用户。
1l5u6lss2#
可能有点晚,但我已经粘贴文档和剪切代码在下一个链接**https://stackoverflow.com/a/74775514/9169379**。
简短回答:您可以从安全上下文中获取令牌