定义的api资源与我们在资源服务器开发的api的对应关系
Correspondence between defined api resources and apis that we develop in a resource server
定义的API资源与我们在资源服务器中开发的API资源有什么对应关系?
我的资源服务器应用程序中有一些 API。如果我理解正确的话,这些 API 是在 IdentityServer4 中定义的。
使用 IdentityServer4.AccessTokenValidation
使用以下代码设置客户端应用程序以安全地使用 apis:
app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions
{
Authority = "http://localhost:5000",
RequireHttpsMetadata = false,
ApiName = "api1"
});
问题是我必须为上述 MW 中的 ApiName = "api1"
提供哪个 API?任何客户端应用只能使用一个 api?
感谢您的澄清。
您将在受 Identityserver4 保护的 API 中使用 IdentityServer4.AccessTokenValidation
。 ApiName 应该是 IdentityServer 中定义的 ApiResource
的名称。客户端只需让客户端从 IdentityServer 请求更多范围,就可以访问多个 Api。
您可以在启动时添加 ApiResource,例如:
services.AddIdentityServer().AddInMemoryApiResources(new[] { new ApiResource("Api1", "Api1") });
定义的API资源与我们在资源服务器中开发的API资源有什么对应关系? 我的资源服务器应用程序中有一些 API。如果我理解正确的话,这些 API 是在 IdentityServer4 中定义的。
使用 IdentityServer4.AccessTokenValidation
使用以下代码设置客户端应用程序以安全地使用 apis:
app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions
{
Authority = "http://localhost:5000",
RequireHttpsMetadata = false,
ApiName = "api1"
});
问题是我必须为上述 MW 中的 ApiName = "api1"
提供哪个 API?任何客户端应用只能使用一个 api?
感谢您的澄清。
您将在受 Identityserver4 保护的 API 中使用 IdentityServer4.AccessTokenValidation
。 ApiName 应该是 IdentityServer 中定义的 ApiResource
的名称。客户端只需让客户端从 IdentityServer 请求更多范围,就可以访问多个 Api。
您可以在启动时添加 ApiResource,例如:
services.AddIdentityServer().AddInMemoryApiResources(new[] { new ApiResource("Api1", "Api1") });