认证还是授权?

时间:2018-12-03 23:32:36

标签: azure-ad-b2c

我是Azure ADB2C的新手,并对某些术语感到困惑。

我正在建立一个摩托车行驶监控网站,希望用户能够通过验证社交媒体身份(目前为Google&Microsoft帐户)登录。

但是我只希望网站的会员能够使用某些功能。例如,我希望每个通过身份验证的人都能够申请会员资格,了解会员资格的好处等,但我只希望会员能够启动乘车监控。

这里推荐的方法是仅授权(而不是进行身份验证,如果我正确理解术语的话)某些经过身份验证的用户(即会员)使用乘车监控服务吗?

如果是这样,授权成员的最佳方法是什么?在独立的数据库中查找他们的电子邮件(我需要从身份验证过程中退回这些电子邮件),然后进行相应的处理?如果我采用这种方式,最简单的方法就是将其会员身份添加到其凭证中,这样我就可以在整个网站上访问它?

在这里不提供代码的道歉。我有很多问题:)但这是设计问题,而不是编码问题。

1 个答案:

答案 0 :(得分:1)

Azure AD B2C主要是身份验证即服务。在这里您可以尝试使用多种方法来实现它。

  1. 您可以在AADB2C(https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-custom-attr)中结合使用AAD Graph API(https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet)中的自定义(扩展)属性。因此,当用户进行身份验证并申请会员资格时,您可以调用AAD图形api来设置用户对象的自定义属性。身份验证发生后,您可以在令牌中获取扩展属性。该令牌将为您提供该用户的成员资格。

  2. 您也可以使用AAD组代替自定义属性。在租户中,创建成员资格组。用户验证后,调用AADGraph来设置/获取用户的组成员身份,这将提供授权信息。

  3. 您也可以按照自己的描述进行操作,将信息保留在应用程序的数据库存储中。但是前两个功能为用户管理提供了内置功能。