我发现了类似的线程,但没有关于 APIM OAuth 与 Duende Identity Server 集成的具体内容。我们希望 APIM 的功能类似于 Postman,您可以在其中设置授权参数(访问令牌 URL、clientId/clientSecret、范围),用户将能够生成令牌。
我们有:
我们想要达到的目标:
Postman 身份验证参数
APIM 授权参数
<inbound>
<base />
<validate-jwt header-name="Authorization" require-scheme="Bearer">
<issuer-signing-keys>
<key>/nD6MI5BtZAtfAViOExO3KDwoHKIaeoiuTqysVDECf2QI=</key>
</issuer-signing-keys>
<audiences>
<audience>@(context.Request.OriginalUrl.Host)</audience>
</audiences>
<issuers>
<issuer>https://contoso.com/connect/token</issuer>
</issuers>
</validate-jwt>
</inbound>
用户应该能够通过传递 clientId/clientSecret 来使用 API 操作,但是每个使用 APIM OAuth 配置的请求都会以 401 Unauthorized 响应。
我认为 OAuth 在 APIM 中的设置方式存在问题。或者,APIM 是否会在到期后自动生成新令牌?当 Postman 中的令牌过期时,需要 UI 交互才能生成新令牌。这在 APIM Oauth 中如何工作?