Android id_令牌缺少使用AD FS 2016的自定义声明使用OpenID Connect
我正在尝试从本地Android应用程序使用带有OpenID Connect身份验证的ADFS 2016来获取ID令牌。然后将ID令牌提供给我的服务器,作为用户身份的证明,并提供一些其他属性(如电子邮件、名字/姓氏)作为声明 ID令牌必须包含自定义声明-这是我的症结所在 我在ADFS中配置了一个应用程序组,并添加了一个本机应用程序和一个Web API 我在ADFS中将我的服务器表示为Web API,因为它允许我指定自定义声明规则。除了自定义声明规则外,我还将本机应用程序的允许范围设置为“openid配置文件电子邮件” 我一直在使用的Android库是OpenID AppAuth库——除了ID令牌没有附加声明之外,它都工作得非常出色 Android应用程序使用ADFS中本机应用程序的客户端ID使用授权类型的代码。我已将'aud'参数设置为Web API的标识符 我只是看不到我遗漏了什么,这将导致客户端接收到带有这些自定义声明的ID令牌Android id_令牌缺少使用AD FS 2016的自定义声明使用OpenID Connect,android,openid-connect,adfs,Android,Openid Connect,Adfs,我正在尝试从本地Android应用程序使用带有OpenID Connect身份验证的ADFS 2016来获取ID令牌。然后将ID令牌提供给我的服务器,作为用户身份的证明,并提供一些其他属性(如电子邮件、名字/姓氏)作为声明 ID令牌必须包含自定义声明-这是我的症结所在 我在ADFS中配置了一个应用程序组,并添加了一个本机应用程序和一个Web API 我在ADFS中将我的服务器表示为Web API,因为它允许我指定自定义声明规则。除了自定义声明规则外,我还将本机应用程序的允许范围设置为“openi
作为附加测试,我使用MS ADAL创建了一个macOS应用程序,成功地提供了自定义声明,但它们位于access_令牌中,并且它使用了SAML。您看到了吗 必须具备:
- 响应模式设置为表单发布
- 只有公共客户端才能在ID令牌中获取自定义声明
- 依赖方标识符(Web API标识符)应与客户端标识符相同
- 响应模式设置为表单发布
- 公共和机密客户都可以在ID令牌中获得自定义声明
- 将范围分配给客户–RP对李>