【发布时间】:2019-01-01 01:19:30
【问题描述】:
我的计划是在 .Net Core 2.1 中构建一些独立的 WebApi 后端应用程序。我还想拥有一个大型前端应用程序(内置 Angular),它将使用对上述微服务的调用。
所以,在前端应用程序中,我将有一些模块: 登录 , MicroSrv1 , MicroSrv2 , ...等
登录 GUI 将使用 LoginApi。登录后,我想显示 MicroSrv1 GUI (connected to MicroSrv1 Api) 、 MicroSrv2 (to MicroSrv2 Api) 等等。
我的想法是:
- 打开LoginGUI点击登录
- 调用 LoginApi 以在 Azure AD 中进行身份验证(使用 JWT)并下载用户数据和用户角色并返回到 LoginGUI
- 身份验证后,我将使用 MicroSrv1GUI、MicroSrv2GUI 进入下一个面板
- 接下来对 MicroSrv1 Api 或 MicroSrv2 Api 的调用应该是授权的(所以也发送令牌,可能存储在 cookie 中)
这是一个好习惯吗?只有一个单独的微服务进行身份验证?还是每个微服务都应该内置自己的? 如何在微服务之间共享身份验证令牌并仅使用一个 Login Api 应用程序?可以给我举几个例子吗?
【问题讨论】:
-
这与 Angular 无关,我正在删除标签
-
您可能只想使用外部身份验证,例如使用/修改像 IdentityServer4 这样的令牌服务器
标签: .net api .net-core microservices