WSO2 基本身份验证 returns 错误
WSO2 Basic Authentication returns error
我正在尝试使用 WSO2 附带的 authenticationendpoint 应用程序作为旧应用程序的新的唯一登录入口点。出于测试目的,我刚刚做了一个重定向到 thi URL
的页面
登录页面按预期显示,但是一旦我设置了用户和密码,就会显示此消息:
身份验证错误!
注意力:
身份验证过程中出了点问题。请尝试重新登录。
在调试模式下查看控制台的输出,这就是显示的内容
... 许多相同的错误说 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
入站身份验证配置
SAML2 Web SSO 配置
发行人:我的发行人
断言消费者 URLs: 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 等(让我知道这是否可能是问题,所以应该填写哪些。
本地和出站身份验证配置
身份验证类型:我尝试使用默认和本地身份验证 = 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.
AuthenticationEndpoint 只是一个中间应用程序。 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。
我正在尝试使用 WSO2 附带的 authenticationendpoint 应用程序作为旧应用程序的新的唯一登录入口点。出于测试目的,我刚刚做了一个重定向到 thi URL
的页面登录页面按预期显示,但是一旦我设置了用户和密码,就会显示此消息:
身份验证错误! 注意力: 身份验证过程中出了点问题。请尝试重新登录。
在调试模式下查看控制台的输出,这就是显示的内容
... 许多相同的错误说 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
入站身份验证配置
SAML2 Web SSO 配置 发行人:我的发行人
断言消费者 URLs: 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 等(让我知道这是否可能是问题,所以应该填写哪些。
本地和出站身份验证配置
身份验证类型:我尝试使用默认和本地身份验证 = 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.
AuthenticationEndpoint 只是一个中间应用程序。 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。