我正在使用Azure Active Directory作为身份提供者来构建ASP.NET应用程序。在组织的Azure AD实例下,我的SSO工作正常,该实例在登录时为应用程序提供了用户详细信息,例如名称,电子邮件等。它还提供清单中配置并分配给用户的应用程序角色。
现在,我正在努力寻找Azure AD集成应用程序的基本体系结构的答案或示例,尤其是以下内容:
- 数据库中有可以分配给用户的实体,在此处存储用户的Azure AD对象ID是否正确?
- 如果存储(1)中的对象ID,我们如何将它们解析为全名以显示在应用程序中?如果返回多个记录,向Graph发送单个查询似乎很浪费,但这也许是唯一的方法吗?
- 使用Graph查询目录时,这些调用是否属于业务层,因为它们将构成请求的一部分?当前,身份验证(在ASP.NET项目中使用OpenID Connect和OWIN使用OpenID Connect)返回授权码,该授权码又用于请求所有Graph调用所需的承载令牌。我不确定如何正确地将它们分开。