我有一个正常工作的Angular 9应用,该应用调用了Dotnet核心3.1 Web API后端以返回数据。我使用@ angular / msal MSAL库对其进行保护,该库在angular应用程序上对AzureAD用户进行身份验证,然后将AzureADBearer令牌发送到API以访问终结点。在角度应用程序上,我们有一个使用Microsoft Graph获取的employeeID。我们希望将其传递给Web api,以便在某些控制器中使用它。我可以通过访问HttpContextAccessor从api获得身份验证用户的声明,我看到用户名,电子邮件,sid ...等。我的问题是,无论如何都要传递该employeeID,以便我可以获取它索赔?我不确定这是否可能。 AzureAD允许在其配置中添加可选的其他声明,但是employeeID不在列表中。我有2种不理想的解决方法,如果可能的话,我不希望这样做。
您可以按照此处使用版权声明映射功能https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-claims-mapping
这可以让您发出不在默认声明或可选声明中的声明。