WSO2通过网络服务进行自动登录。

问题描述 投票:0回答:1

我正在研究如何用以下方法实现身份验证 WSO2 IS 使用现有的企业网络服务。

我必须修改登录以接受3个参数,它们是 clientCODE, IDnumberpassword.

我是新来的 WSO2 IS 和我开始研究这个问题.目前我看到如果我需要一个自定义的联盟认证,连接到我的webservice,我需要做一个本地的自定义认证器来配合这三个参数吗?要做的流程是什么?

EDIT:我创建了一个自定义联盟认证,可以看到默认的webapp发送的参数,我在那里包含了一个休息客户端与org.apache.cxf.cxf-rt-rs-client,但现在我得到了一个

org.apache.cxf.jaxrs.client.WebClient cannot be found by org.wso2.carbon.extension.identity.authenticator.custom_1.0.1

我在我的绒球中加入了

<Import-Package>
                            org.apache.cxf.cxf-rt-rs-client;resolution:=optional,
                            org.apache.commons.logging.*; version="1.0.4",
                            org.osgi.framework,
                            org.wso2.carbon.identity.application.authentication.framework.*,
                            javax.servlet,
                            javax.servlet.http,
                            org.apache.oltu.oauth2.*; version="${oltu.package.import.version.range}", *;resolution:=optional,
                        </Import-Package>

我复制了jars到repositorycomponentslibshows同样的错误。

谢谢你

wso2 wso2is federated-identity
1个回答
0
投票

不,你可以创建一个自定义的登录页面(简单的webapp),并在你的联合认证器中进行提示。例子: 不是重定向到外部URL,而是重定向到您的自定义登录网页,从。initiateAuthenticationRequest 的方法进行认证。一旦用户提交输入,从自定义Servlet中获取输入,并发送回你的合作服务进行认证,然后你的自定义组件(同一个Servlet)将获得认证响应。然后你可以通过调用WSO2的自定义联合认证器来提供响应。/commonauth 端点。然后,该响应将由自定义联合验证器的 processAuthenticationResponse 方法在WSO2中做认证。

抽象的说,你只需要一个简单的webapp来收集输入,然后调用企业服务并获得响应。同样,你需要写一个自定义的联合认证器来处理以下问题 /commonauth 由您的网络应用转发的请求。(企业服务的响应加上发出请求的任何参数)

希望对你有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.