我有一个与Angular一起编写的SPA,它与一些API(也由我拥有)进行通信,以完成其所有工作。为了保护应用程序,我使用带有AAD的Identity Server 4作为单个外部提供程序。
我在Angular中使用路由保护,如果用户在导航到路由之前尚未经过身份验证,则启动oidc隐式流。这一切都很有效 - 在任何" secure"之前,用户被迫使用AAD登录。可以访问路线。
该应用程序的新要求是,只允许AAD租户中的一部分用户使用该应用程序。在AccountController.ExternalLoginCallback(来自快速入门UI)中,我能够使用从AAD返回的声明进行此确定。一旦我确定它是否是有效用户,我就无法弄清楚该怎么做才能通过身份验证并返回对我的SPA的回复,以便我能够显示& #34;未授权"图。
这可能吗?我的工作流程是否需要更改以满足此新要求,或者是否有办法将此自定义逻辑注入到Identity Server中?