我们无法为同时提供API并充当其他应用程序客户端的应用程序生成令牌。我们想在OAuth中使用客户端凭据工作流程。
应用程序ApiAndClient具有客户端凭据以及使用应用程序ApiApp的api的权限。 我们授予ApiAndClient应用程序管理员同意使用ApiApp的api的权限。 我们在ApiApp中配置了重定向URI。 当我们要为ApiAndClient发行令牌时,出现以下错误消息:
{
"error": "invalid_request",
"error_description": "AADSTS501461: AcceptMappedClaims is only supported for a token audience matching the application GUID or an audience within the tenant's verified domains. Either change the resource identifier, or use an application-specific signing key.\r\nTrace ID: XXXXX\r\nCorrelation ID: XXXXXXXXX\r\nTimestamp: 2020-09-04 07:40:31Z",
"error_codes": [
501461
],
"timestamp": "2020-09-04 07:40:31Z",
"trace_id": "XXXXXX",
"correlation_id": "XXXXXX"
}
我们将ApiAndClient和ApiApp的设置与令牌可以使用的其他应用进行了比较。 ApiApp有一个区别,它的“ acceptMappedClaims”设置为true,其他api应用程序设置为null。如果将其设置为null,则错误消息将更改:
"AADSTS50146: This application is required to be configured with an application-specific signing key. It is either not configured with one, or the key has expired or is not yet valid.\r\nTrace ID: xxxxxx\r\nCorrelation ID: xxxxxxx\r\nTimestamp: 2020-09-04 08:15:26Z",
将其设置为false不会更改任何内容。
我们怀疑,可能还充当api的客户端应用可能是问题所在。
答案 0 :(得分:2)
答案 1 :(得分:0)
有一个完全不同的问题,我可以和一些广告专家一起解决。
我们在广告中使用自定义声明。因此,应用程序范围必须以经过验证的域(https://companyname.com/)开头。 否则,不会生成令牌。现在,我对其进行了更改,可以生成令牌。