WSO2 基本身份验证 returns 错误

WSO2 Basic Authentication returns error

我正在尝试使用 WSO2 附带的 authenticationendpoint 应用程序作为旧应用程序的新的唯一登录入口点。出于测试目的,我刚刚做了一个重定向到 thi URL

的页面

https://localhost:9443/authenticationendpoint/login.do?relyingParty=My-Issuer&sp=Test-App&sessionDataKey=14792551&authenticators=BasicAuthenticator:LOCAL

登录页面按预期显示,但是一旦我设置了用户和密码,就会显示此消息:

身份验证错误! 注意力: 身份验证过程中出了点问题。请尝试重新登录。

在调试模式下查看控制台的输出,这就是显示的内容

... 许多相同的错误说 Authentication Context is null [2017-01-06 15:40:08,836] DEBUG {org.wso2.carbon.identity.application.authentication.framework.util.FrameworkUtils} - 身份验证上下文为空 [2017-01-06 15:40:08,836] DEBUG {org.wso2.carbon.identity.application.authentication.framework.util.FrameworkUtils} - 身份验证上下文为空 [2017-01-06 15:40:08,836] DEBUG {org.wso2.carbon.identity.application.authentication.framework.util.FrameworkUtils} - 身份验证上下文为空 [2017-01-06 15:40:08,837] DEBUG {org.wso2.carbon.identity.application.authentication.framework.handler.request.impl.DefaultRequestCoordinator} - 会话数据密钥:22451696 [2017-01-06 15:40:08,837] 错误 {org.wso2.carbon.identity.application.authentication.framework.handler.request.impl.DefaultRequestCoordinator} - 上下文不存在。可能是由于缓存无效

我觉得我做错了什么,也许没有发送足够的参数,或者它们是错误的,用户和密码是正确的,因为我可以用它登录碳本身,它也是测试 SP 的有效用户。

SP配置描述:

基本信息

服务提供商名称:Test-App

认领配置

使用当地声明方​​言 主题声明 URI http://wso2.org/claims/username

Role/Permission 配置 权限管理测试 角色映射 AdminTest->Admin

入站身份验证配置

选中的值 启用响应签名 启用单点注销 启用属性配置文件 始终在响应中包含属性 启用 IdP 发起的 SSO 启用 IdP 启动的 SLO

其他空白的 OAuth、OpenID 等(让我知道这是否可能是问题,所以应该填写哪些。

本地和出站身份验证配置

身份验证类型:我尝试使用默认和本地身份验证 = basic 和 password-reset-enforcer

已检查:

入站供应配置 SCIM 配置 基本的 未启用哑模式

其余留空

我花了很多天时间跟踪这个问题,但没有答案或者是针对旧版本。

我测试了 JDK 7 和 8(最新的)我正在使用 WSO2 IS 5.2.0。有人可以引导我使用此应用程序作为我的 SP 的唯一入口点的解决方案吗?之后的想法是将 SAML2 响应发送回 SP 端的页面,该页面读取信息并控制授权部分。

提前致谢。

您已配置 SAML SSO 方案。因此,您的 SP 必须使用有效的 SAMLRequest 调用 WSO2 身份服务器的 SAML SSO 端点。即https://hostname:port/samlsso.

A​​uthenticationEndpoint 只是一个中间应用程序。 SAML SSO 端点是应该在第一次处理 SAMLRequest 后将用户重定向到 AuthenticationEndpoint 的端点。你不能直接调用它。

参考 this to learn how to run a sample SAML SSO application with WSO2 IS. While running that, you can monitor the HTTP Request/Response flow using a tool like SSOTracer Firefox 并了解通信的工作原理。

与 SAML SSO 流程类似,如果您使用任何其他身份验证协议,则首先必须调用协议特定端点。例如。如果您使用的是 OAuth2 或 OpenIDConnect,那么您应该调用 /oauth2 端点。从不直接 /authenticationendpoint。