第43章 添加更多API端点 - Identity Server 4 中文文档(v1.0.0)
程序员文章站
2022-07-11 08:33:39
您可以向托管IdentityServer4的应用程序添加更多API端点。 您通常希望通过它们所托管的IdentityServer实例来保护这些API。这不是问题。只需将令牌验证处理程序添加到主机(请参阅 "此处" ): 在您的API上,您需要添加 属性并显式引用您要使用的身份验证方案(在此示例中 , ......
您可以向托管identityserver4的应用程序添加更多api端点。
您通常希望通过它们所托管的identityserver实例来保护这些api。这不是问题。只需将令牌验证处理程序添加到主机(请参阅此处):
public void configureservices(iservicecollection services) { services.addmvc(); // details omitted services.addidentityserver(); services.addauthentication() .addidentityserverauthentication("token", isauth => { isauth.authority = "base_address_of_identityserver"; isauth.apiname = "name_of_api"; }); }
在您的api上,您需要添加[authorize]
属性并显式引用您要使用的身份验证方案(在此示例中token
,您可以选择您喜欢的任何名称):
public class testcontroller : controllerbase { [route("test")] [authorize(authenticationschemes = "token")] public iactionresult get() { var claims = user.claims.select(c => new { c.type, c.value }).toarray(); return ok(new { message = "hello api", claims }); } }
如果要从浏览器调用该api,则还需要配置cors(请参阅此处)。
43.1 发现
如果需要,您还可以将端点添加到发现文档中,例如:
services.addidentityserver(options => { options.discovery.customentries.add("custom_endpoint", "~/api/custom"); })
上一篇: 一件可怕的事
下一篇: Mybatis框架的简单运用
推荐阅读
-
第29章 保护API - Identity Server 4 中文文档(v1.0.0)
-
第27章 联合网关 - Identity Server 4 中文文档(v1.0.0)
-
第26章 联合注销 - Identity Server 4 中文文档(v1.0.0)
-
第25章 退出外部身份提供商 - Identity Server 4 中文文档(v1.0.0)
-
第23章 Windows身份验证 - Identity Server 4 中文文档(v1.0.0)
-
第28章 确认(Consent) - Identity Server 4 中文文档(v1.0.0)
-
第63章 ASP.NET Identity 支持 - Identity Server 4 中文文档(v1.0.0)
-
第41章 CORS - Identity Server 4 中文文档(v1.0.0)
-
第38章 刷新令牌 - Identity Server 4 中文文档(v1.0.0)
-
第65章 博客帖子 - Identity Server 4 中文文档(v1.0.0)