是否有一种方法可以自定义Thinktecture.IdentityServer.V2登录界面

本文关键字:Thinktecture 自定义 IdentityServer V2 界面 登录 方法 一种 是否 | 更新日期: 2023-09-27 18:18:10

我使用的是Thinktecture.IdentityServer。为几个内部应用程序执行SSO,但希望为每个应用程序定制登录页面,以获得更流畅的用户体验。我似乎找不到这样做的方法。

登录页面可以根据客户端来自的源应用程序进行定制吗?

是否有一种方法可以自定义Thinktecture.IdentityServer.V2登录界面

"我似乎找不到这样做的方法。"-你努力了吗?;)

RP具有额外的数据字段-因此您可以像注册数据库中的CSS名称一样挂起RP。此外,您可以从登录页面获取RP数据—引用AccountController:

中的注释

//你可以调用AuthenticationHelper。GetRelyingPartyDetailsFromReturnUrl获取有关所请求的依赖方的更多信息

btw - IdentityServer的github repo有一个问题跟踪器-你应该使用它来解决问题。

您总是可以让RP传递一个自定义查询字符串参数并自定义该参数。但是此时您已经超出了WS-Federation的范围。另外,您必须考虑到SSO的本质——用户实际上是登录到IdP,而不是应用程序。因此,将IdP更改为看起来像应用程序有点不诚实。

我已经通过定制登录解决了这个问题。cshtml来调整我需要的样式。此外,我在SignIn的顶部有服务器端代码。cshtml在ReturnUrl (Request.QueryString["ReturnUrl"])上做一些字符串匹配。然后,我根据我知道的一些值显示不同的徽标和标题文本,这些值对于不同的RP url是唯一的。

当升级到一个新版本的ThinkTecture MVC时,它将是一个小的工作,只更新这个文件到您的具体情况(只要记住有一个修改过的SignIn的副本)。