【发布时间】:2019-07-28 19:13:24
【问题描述】:
我有一个水疗应用和三个 API(A、B、C)
A、B 是公共微服务,C 是内部微服务。
哪种方式最适合?
1。第一种方式
SpaClient
Scope = A, B, C
Spa 应用从身份提供者处获取 SpaClient 的令牌。
Spa App使用token调用A api、B api,A api使用同一个token调用C api。
2。第二种方式
SpaClient
Scope = A, B
CClient
Scope = C
Spa 应用从身份提供者处获取 SpaClient 的令牌。
调用A api、B api、A api 调用附加到Identity Provider 以获取CClient 的令牌并使用CClient 的令牌调用C Api。
在这种情况下,身份提供者需要在每个请求上生成新的令牌,以便从 A API 调用 C Api。
3。第三种方式
SpaClient
Scope = A, B
Spa 应用从身份提供者处获取 SpaClient 的令牌。
使用token从Spa App调用A api、B api,A api不带token调用C api(C Api中没有认证)。
我们需要对内部微服务进行身份验证吗?
【问题讨论】:
-
如果 api 是内部的并且不需要任何身份验证或授权,那么您可以避免额外的身份验证步骤。
标签: jwt microservices single-page-application identityserver4 identity