WSO2基本身份验证返回错误

时间:2017-01-07 00:26:43

标签: authentication wso2is

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

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

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

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

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

...许多同样的错误说认证上下文为空 [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] ERROR {org.wso2.carbon.identity.application.authentication.framework.handler.request.impl.DefaultRequestCoordinator} - 上下文不存在。可能是由于缓存无效

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

描述了SP配置:

基本信息

服务提供商名称:Test-App

声明配置

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

角色/权限配置 权限AdminTest 角色映射AdminTest-> Admin

入站身份验证配置

  • SAML2 Web SSO配置 发行人:My-Issuer

    断言消费者URL:https://localhost/Test/main.asp 默认断言使用者URL:https://localhost/Test/main.asp NameID格式:urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress 证书别名:wso2carbon 响应签名算法:...#rsa-sha1 响应摘要算法:...#sha1

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

其他人在空白的OAuth,OpenID等中(如果这可能是问题,请告诉我,因此应该填写。

本地和出站身份验证配置

身份验证类型:我尝试使用默认和本地身份验证=基本和密码重置强制执行器

选中此项:

  • 使用映射的本地主题标识符断言身份
  • 在本地主题标识符中使用租户域
  • 在本地主题标识符中使用用户存储域

    请求路径验证配置 基本-AUTH

入站配置配置    SCIM配置      主   未启用哑模式

其余部分留空

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

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

提前致谢。

1 个答案:

答案 0 :(得分:1)

您已配置SAML SSO方案。因此,您的SP必须使用有效的SAMLRequest调用WSO2 Identity Server的SAML SSO端点。那是https://hostname:port/samlsso

AuthenticationEndpoint只是一个中间应用程序。 SAML SSO端点是在首次处理SAMLRequest 之后应将用户重定向到AuthenticationEndpoint 的端点。你不能直接打电话。

请参阅this以了解如何使用WSO2 IS运行示例SAML SSO应用程序。在运行时,您可以使用Firefox SSOTracer等工具监控HTTP请求/响应流,并了解通信的工作原理。

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