自定义 WSO2 IS 登录

Posted

技术标签:

【中文标题】自定义 WSO2 IS 登录【英文标题】:Customizing WSO2 IS login 【发布时间】:2017-07-24 03:23:19 【问题描述】:

我已经使用 Spring SAML(2 个服务提供者)和 WSO2 IS v5.2 实现了一个工作环境。这个问题与我已经完成的登录页面的视觉样式无关。登录页面由 WSO2 服务器托管,并使用以下重定向 url 传递:

https://server/authenticationendpoint/login.do?commonAuthCallerPath=
%2Fsamlsso&forceAuth=false&passiveAuth=false&tenantDomain=carbon.super
&sessionDataKey=e779c512-fdf6-4787-ae40-d6ccccc052ec&
relyingParty=urn%foo%bar%3Atampa&type=samlsso&
sp=mysp&isSaaSApp=false&authenticators=BasicAuthenticator:LOCAL

我想知道 wso2 端的框架是否允许向上述 URL 添加额外的查询字符串参数。我想添加额外的参数来导致某种行为。例如:一个附加的查询字符串参数可以是用户名,我可以在登录页面中预先填充这个值。

【问题讨论】:

【参考方案1】:

是的,可以传递任何其他参数,只要它们不共享 IS 使用的相同参数名称。

您可以通过扩展“BasicAuthenticator”并覆盖initialAuthenticationRequest() 来编写身份验证器。在那里,您必须从“BasicAuthenticator”类复制方法内容,并使用您的参数附加内置的重定向url。然后将此验证器用作默认验证器。您仍然可以破解 BasicAuthenticator 代码本身,但不建议这样做。

【讨论】:

以上是关于自定义 WSO2 IS 登录的主要内容,如果未能解决你的问题,请参考以下文章

WSO2IS/APIM:如何在自定义身份验证器中分配用户角色

WSO2IS - 具有自定义属性的 XACML 策略返回“找不到 AttributeDesignator”

WSO2IS 5.10 自定义 JWT 令牌颁发者未在服务提供者配置中列出

Wso2 apim 自定义指标

WSO2 APIM 的自定义身份验证

如何在 WSO2IS 中为 PolicyEntitlementAdminService 生成存根