首页 > 解决方案 > OpenIdConnect:如何在令牌中添加额外的声明?

问题描述

我对 OpenIdConnect 很陌生,所以如果我仍然错过一些基本概念,请原谅。我正在为我的公司(AspNet Core + Aurelia)开发一个 SPA 风格的 Web 应用程序。我想通过 OpenIdConnect 使用 AzureAD 进行身份验证和授权,到目前为止一切正常,我能够获取令牌并登录。

问题是我的应用程序需要向客户端的浏览器提供一些特定于应用程序的声明,例如:可以读取 X,可以编辑 Y ...

我在 OpenConnectId 中缺少什么吗?或者有没有办法在保持令牌有效的同时向 AzureAD 等第 3 方提供商颁发的令牌添加声明?也许是一种要求 AzureAd 向令牌添加声明并重新签名的方法?

标签: jwtazure-active-directoryopenid-connect

解决方案


您可以尝试使用自定义声明映射策略。这在此处记录。

租户管理员使用此功能来自定义其租户中特定应用程序在令牌中发出的声明。

据我了解,这仍处于预览阶段。所以它可能需要一些试验和错误验证。

或者,您可以在应用程序本身中定义一些策略。鉴于您知道应用程序中的客户端 ID(因此您需要将它们用于 OpenID Connect 请求),您可以创建一个简单的策略来检查令牌并执行验证。


推荐阅读