如何使用Owin / Open ID Connect添加其他Azure AD属性作为声明

时间:2016-02-18 23:50:09

标签: asp.net-mvc azure authentication owin openid-connect

我想将其他Azure AD属性作为声明添加到由"开箱即用的#34;创建的ClaimsPrincipal中。 ASP.NET MVC模板(即app.UseOpenIdConnectAuthentication(...)

我尝试在SecurityTokenValidated通知中实现类似的内容,如this article所示,但似乎我的情景遇到了一些鸡与蛋的问题:< / p>

我需要调用图谱API来获取声明的其他用户属性,但我现在还没有令牌(我不这么认为)在此过程中能够调用API。

似乎我在这里遗漏了一些明显的东西。

1 个答案:

答案 0 :(得分:1)

这里有很多解决方案,但有两个突出:

  1. 在securitytokenvalidated中,您确实拥有一个令牌,即发送到您的应用以进行登录的令牌。您可以在onbehalfof流中使用它来获取图表的标记,并在该通知中使用它。您可以参考示例here,它适用于网络API,但概念是相同的
  2. 您可以将应用配置为使用自己的应用标识访问图表。您可以随时获取该令牌。请参阅here