IdentityServer 4、如何添加自定义登录页面

Clu*_*ang 7 asp.net-identity identityserver4 blazor abp

我希望自定义 IdentityServer 4 并使用自定义页面进行登录/注册/丢失密码等......(仅供参考,我使用 Blazor,但它应该是相同的!)。

示例 通过示例,我现在使用以下代码:

Challenge(authProps, "oidc");

但它重定向到预定义的登录页面,我该如何更改?

资料 我搜索了一些资料,看到有些人用下面的

.UserInteraction.LoginUrl = "http://..../MyLoginPage";

我的问题是我使用 abp.io,他们提供了一个 IdentityServer,但我无法访问AddIdentityServer代码,它在某处被硬编码,我无法访问它 (AbpIdentityServerDomainModule.cs)!

所以,我正在寻找一种重新定义登录页面的方法!

Edi*_*Edi 7

只需在 Startup.cs 中添加以下内容即可

services.ConfigureApplicationCookie(config =>
{
    config.Cookie.Name = "IdentityServer.Cookie";
    config.LoginPath = "/Auth/Login";
    config.LogoutPath = "/Auth/Logout";
});
Run Code Online (Sandbox Code Playgroud)

  • 例如,您可以在控制器中执行操作,例如: [Route("Auth/Login")] [HttpPost] public async IActionResult Foo(@Params) { // 代码逻辑 } 然后您可以从客户端访问此操作,如下所示: http.post('主机:端口/验证/登录', {用户名, 密码}) (2认同)

小智 6

您可以通过实施Scaffolding来解决您的问题。

身份服务器文档说 “包含身份的应用程序可以应用脚手架来有选择地添加身份剃刀类库 (RCL) 中包含的源代码。您可能想要生成源代码,以便您可以修改代码并更改行为。”

因此,您可以根据需要更改 UI、端点及其行为。

这是文档链接