管理内部多个API的集中式身份验证/授权的最佳方法?

问题描述 投票:0回答:1

我正在尝试出于不同目的创建多个API,我的意思是微服务模式。我有2个API,但将来会增加。

我发现建议将Oauth用于这种微服务模式。但是是我自己的API,也许我对此进行了过度设计。

((下面的示例为示例)我正在考虑创建我的API,将身份验证/授权内容集中在另一个API中,然后从我的API中访问它(认为是CORS策略)。

如果我在SPA 1中,并且想要传递给SPA 2,我可能会检测到一个cookie来询问用户信息,将验证码发送到电子邮件并自动登录。 (最后一部分可以用同一个域Cookie或从两个API提取数据的1个SPA来完成)

我避免使用OAuth和API网关授权,因为我需要自己制造服务器,而且价格昂贵...

这是一个好方法吗?

my microservice pattern

编辑1:“用户”是一个API,我将在其中管理所有用户配置文件,权限,角色等对其他API的访问。

security design-patterns oauth-2.0 microservices single-page-application
1个回答
0
投票

您可以在场景中使用JSON Web令牌(JWT)。您可以为每个资源/ API创建JWT并交换它们。

注意:JWT有一个弱点,重用被盗的JWT可能是一个糟糕的情况。您必须将JWT与另一个验证,cookie和SSL结合使用,并保持JWT验证短时间。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.