使用 Angular 和 .NETCore2 WEBAPI 的 Azure AD 身份验证

Azure AD Auth with Angular and .NETCore2 WEBAPI

我想使用 Azure AD 向我的应用程序添加身份验证

现在我的流程是这样的

用户 -> AngularApp -> Azure 登录 -> AngularApp w/token -> API 调用后端 w/token -> API 后端在每次调用时使用 Azure 验证令牌

我有以下问题:

  1. 有更好的方法吗?
  2. 每个 API 调用都使用 azure 进行验证。是必填项吗?
  3. 我应该为 UI 和 API 设置两个不同的客户端 ID 吗?

更好是什么意思? (减少重定向?)

您所描述的是一个标准的 OpenID Connect 流程,目前在整个网络上都在使用。每当您使用 google、facebook、github 登录登录到您正在使用该标准的其他页面时。

现在在网络上 authorization/authentication 是非常安全和简单的方法。

注意确保令牌在适当的时间内有效。

Is there a better way to do this?

这是标准方式。

Every API call is verified with azure. Is is required?

您的 API 后端不会每次都使用 AAD 验证令牌。 它会在启动时为 Azure AD 下载 public 签名密钥(如果您使用标准组件),并使用它们验证令牌。

Should i have two different client id for UI and API?

当您通过新的应用程序注册体验制作 v2 应用程序时,您可以在单个应用程序中很好地定义前端和后端 API。 您也可以将它们定义为单独的应用程序。