首页 文章

如何在WSO2 Identity Server 5.3.0中解析Email OTP身份验证?

提问于
浏览
0

我按照以下链接Configure Email Otp配置电子邮件otp以在WSO2身份服务器中进行两步验证 .

在登录页面中提供用户名和密码后,我们应该被重定向到Email OTP页面,但我们将被重定向到https://localhost:9443/authenticationendpoint/samlsso_notification.do?status=Error+when+processing+the+authentication+request%21&statusMsg=Please+try+login+again.&SAMLResponse=pZLLbsJADEX3%2FYrR7AN5QZIRGYRaISGVTXksuqncxECkZAaNJ1X7900CETQLNl3a8r332PJs%2Fl2V7AsNFVql3Bu5nKHKdF6oY8p326UT87l8mhFUpX8Wb0hnrQjZ6iXlH2EQRbnvxkmWuBiHUQIhHkKYRp%2BTKSTgcbYiqnGlyIKyKfddL3LcxPH9rReISSCCaBS703fO9j2A3wI0SIrEJTLltVFCAxUkFFRIwmZis1i%2FimZUnI22OtMllxdC0QUattSmAvtY23aK3Dl0owKVLezPn%2BzHciBCYxtoLkudQXnSZGfjewrZX21jwdY0KJ91jmwPZY2Pc6ibvl4%2BR8P%2F57Oo7UktoSgx52N5Bb73GtivkQiOKHfNtgwacXuoDNrF2aGzGXj0gkH7Vvc%2FJH8B .

当我们检查日志时,我们发现了以下痕迹,

TID:[ - 1234] [] [2017-09-22 13:53:37,664] ERROR - 无法获取访问令牌org.wso2.carbon . identity.application.authentication.framework.exception.AuthenticationFailedException:无法在org.wso2.carbon.identity上的org.wso2.carbon.identity.authenticator.emailotp.EmailOTPAuthenticator.initiateAuthenticationRequest(EmailOTPAuthenticator.java:158)获取访问令牌 . application.authentication.framework.AbstractApplicationAuthenticator.process(AbstractApplicationAuthenticator.java:64)at org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler.doAuthentication(DefaultStepHandler.java:466)at org . 位于org.wso2.carbon.identity.application.authentication.framework.handler.sequence.impl.DefaultStepBasedSequenceHandler的wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler.handle(DefaultStepHandler.java:233) .handle(DefaultStepBased SequenceHandler.java:175)在org.wso2.carbon.identity.application.authentication的org.wso2.carbon.identity.application.authentication.framework.handler.request.impl.DefaultAuthenticationRequestHandler.handle(DefaultAuthenticationRequestHandler.java:127) . 在org.wso2.carbon的org.wso2.carbon.identity.application.authentication.framework.CommonAuthenticationHandler.doPost(CommonAuthenticationHandler.java:46)上的framework.handler.request.impl.DefaultRequestCoordinator.handle(DefaultRequestCoordinator.java:142) . identity.application.authentication.framework.CommonAuthenticationHandler.doGet(CommonAuthenticationHandler.java:37)位于org.wso2.carbon的org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.sendRequestToFramework(SAMLSSOProviderServlet.java:1004) . identity.sso.saml.servlet.SAMLSSOProviderServlet.handleRequest(SAMLSSOProviderServlet.java:160)位于org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.doPost(SAMLSSOProviderServlet.java:108)的javax.servlet.http . H位于org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)的javax.servlet.http.HttpServlet.service(HttpServlet.java:731)中的ttpServlet.service(HttpServlet.java:650) .

有关如何解决此问题的任何想法?

1 回答

  • 0

    这很可能是由于无法连接您的电子邮件提供商(服务器) . 您最初可以执行以下操作以进行诊断,(假设您使用的是Gmail)

    • 验证"userId","gmailClientIdValue","gmailClientSecretValue"等是否有效 .

    <Parameter name="GmailEmailEndpoint">https://www.googleapis.com/gmail/v1/users/[userId]/messages/send</Parameter> <Parameter name="GmailClientId">gmailClientIdValue</Parameter> <Parameter name="GmailClientSecret">gmailClientSecretValue</Parameter>

    • 尝试使用API调用使用不同工具(邮递员)发送的电子邮件 . 这是为了验证您的计算机是否可以访问API endpoints . 这是为了排除任何网络级端口阻塞等 .

相关问题