我一直在阅读 Azure Active Directory 应用程序 list
,但我没有看到任何有关职位信息的信息。
我能够向 claim 添加组,如下面的答案,但我无法获取工作信息。这可能吗?
https://stackoverflow.com/a/50836460/3850405
如果我登录https://portal.azure.com并在 Azure Active Directory
中查看我的用户,我可以看到信息。
我还可以从Azure Active Directory Graph API
获取信息
https://developer.microsoft.com/en-us/graph/graph-explorer#
最佳答案
那么,当您可以通过图形 API 获取这些信息时,为什么还要将这些信息放入声明中呢?您只需执行一次此操作 - 当用户登录并且您的中间件已验证 token 时。然后,您可以调用图形 API 并提取附加信息以将其打包为声明。或者甚至,仅当您确实需要该信息时。我正在详细阐述这一点,因为我们对代币投入的声明越多,代币就越大。 token 越大,保存该信息的 cookie 就越大。归根结底 - 整体信息臃肿。
综上所述,您的职位和部门问题已经有了解决方案。然而,经理问题没有解决方案。
您可以使用 custom claims mapping policies in Azure AD 包含职位和部门信息。这两个属性 - 职务和部门都在那里并且可供使用。
即使使用声明映射策略,您也只能得到部分解决方案,因为它不支持管理器链接。您可能确实想查看在登录时仅调用图形 API 的选项并提取您需要的任何其他信息。
关于c# - 从 claim 中的 Azure AD 获取职位信息(职位名称、部门和经理 ID),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50838581/