确认APIM是否配置了正确的OAuth 2.0策略,包括审核API,应用程序和密钥。
确认内部服务API是否正确实现了OAuth 2.0协议。
可以使用以下代码示例来解决该问题:
在APIM中配置OAuth2.0策略:
[Audience URI of the API]
[Issuer URI of the Authorization server]
Bearer @(context.Request.Headers.GetValueOrDefault("Authorization", "").Split(' ')[1])
其中,“Validate-JWT”策略用于验证JWT token,需要指定OpenID配置URL、API URI和发行人URI等参数。同时,“Backend”策略用于向内部服务API添加Authorization头,以进行后续认证。
在内部服务API中实现OAuth2.0协议:
以下是一个示例代码片段:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.Authority = "[Issuer URI of the Authorization server]";
options.Audience = "[Audience URI of the API]";
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)