带有Angular和.NETCore2 WEBAPI的Azure AD Auth

时间:2018-11-27 06:27:30

标签: angular asp.net-web-api azure-active-directory asp.net-core-2.1

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

现在我的流程就像

用户-> AngularApp-> Azure登录->带有令牌的AngularApp->调用带有令牌的后端API->每次调用API后端都会使用Azure验证令牌

我有以下问题:

  1. 有更好的方法吗?
  2. 每个API调用均经过天蓝色验证。是必需的吗?
  3. 我应该为UI和API使用两个不同的客户端ID吗?

2 个答案:

答案 0 :(得分:2)

  

有更好的方法吗?

这是标准方式。

  

每个API调用均经过天蓝色验证。是必需的吗?

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

  

我应该为UI和API使用两个不同的客户端ID吗?

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

答案 1 :(得分:1)

您的意思更好? (重定向次数较少?)

您所描述的是一个标准的OpenID Connect流,该流现在已在整个Web上使用。每当您使用google,facebook,github登录登录到使用该标准的其他页面时。

这几天来,这是在网络上进行授权/认证的非常安全和简便的方法。

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