检查是否允许 Azure AD 用户访问我的应用程序

Check if Azure AD user is allowed to access my application

我开发了一个使用 azure ad 和 asp.net owin 进行身份验证的应用程序(asp.net 网络应用程序)。这是一个多租户应用程序,所以我在 Azure 广告中将我的应用程序注册为多租户应用程序。这意味着每个拥有 Microsoft work/school 帐户的人都可以登录我的应用程序。很好,但我需要检查登录的用户是否具有使用我的应用程序的有效许可证。我怎样才能做到这一点?我能否以某种方式中断 owin 登录过程并检查有效许可证,或者这通常是如何完成的?

通常所做的是将 AUTHENTICATION(用户是谁)与 AUTHORIZATION(用户可以做什么)分开。

即您不会干扰身份验证 - 用户来并发送令牌。然后,当用户是新用户时,您的应用会将用户重定向到 "create account" 页面。这会在您的应用程序中为该用户创建数据库条目。您也可以将他发送到 "sorry, you have no rights on this application" 页面。

这允许您对具有不同权限的多个应用程序使用相同的身份验证,并完全分离身份验证和授权。