我们正在使用NET Core和Angular中的SPA开发应用程序。
该应用程序结合了Azure AD来验证用户是否存在,但是我们需要在Azure生成令牌之前验证专有数据库中的某些属性。
如果我们无法进行这些验证,则Azure将生成一个有效的令牌,并且[Authorize]属性将传递所有请求。
是否可以通过Azure AD拦截令牌生成?
的确,我们可以制作一个安全过滤器来验证每个请求,但是往返次数太多,而且不够优雅。
答案 0 :(得分:0)
在单页应用程序中,将存在一个启动AD身份验证的地方。就我而言,我在SPA中使用Angular 5,并使用adal-angular5处理身份验证。
库中有一个方法init(),只有调用它,身份验证才会开始。在调用init()方法之前,我已经进行了其他验证。
我建议您做同样的事情,在init()之前击中的API应该是开放的API(无需身份验证)