HTTP-сеанс создать без LoggedInSessionBean? - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь войти в приложение Travelocity с помощью ADFS в качестве поставщика удостоверений.В index.jsp прокомментируйте все параметры и добавьте мою собственную ссылку. Нажмите здесь для входа в ADFS

После нажатия на ссылку он перенаправляет (в первый раз) на страницу входа в ADFS (запрос saml) и вводит идентификатор пользователя и пароль.Подтвердите успешно с ответом SAML.

Приземлился в home.jsp Теперь после нажатия на ссылку токена Oauth2

else {
 if(ssoAgentConfig.isOAuth2SAML2GrantEnabled()){
%>
 <a href=”token”>Click here for WSO2 Oauth2 Token</a><br/>
<%

}

В SSOAgentfilter он входит в метод и генерирует тот же запрос saml снова иприземлился в home.jsp

if (resolver.isPassiveAuthnRequest()) {
 LOGGER.log(Level.INFO, “isPassiveAuthnRequest”);
 isPassiveAuth = ssoAgentConfig.getSAML2().isPassiveAuthn();
 samlSSOManager = new SAML2SSOManager(ssoAgentConfig);
 ssoAgentConfig.getSAML2().setPassiveAuthn(true);
 redirectUrl = samlSSOManager.buildRedirectRequest(request, false);
 LOGGER.log(Level.INFO,”redirectUrl “+ redirectUrl);

ssoAgentConfig.getSAML2().setPassiveAuthn(isPassiveAuth);
 response.sendRedirect(redirectUrl);
 return;
 }

INFO: SLO getRequestURI ==/travelocity.com/home.jsp
Sep 12, 2018 10:46:48 AM org.wso2.sample.is.sso.agent.SSOAgentFilter doFilter
INFO: isSAML2SSOResponse
Sep 12, 2018 10:46:48 AM org.wso2.carbon.identity.sso.agent.saml.SSOAgentHttpSessionListener sessionCreated
WARNING: HTTP Session created without LoggedInSessionBean

INFO: isPassiveAuthnRequest
Sep 12, 2018 8:52:27 AM org.wso2.sample.is.sso.agent.SSOAgentFilter doFilter
INFO: redirectUrl https://localhost.com:9444/samlsso?SAMLRequest=nVTBjto

Каждый раз, когда он входил в логику isPassiveAuthnRequest, я хочу вызвать этот метод

if (resolver.isSAML2OAuth2GrantRequest()) {
    LOGGER.log(Level.INFO, "isSAML2OAuth2GrantRequest" +resolver.isSAML2OAuth2GrantRequest());

LOGGER.log(Level.INFO, "isSAML2OAuth2GrantRequest");

    org.wso2.sample.is.sso.agent.SAML2GrantManager saml2GrantManager =  new SAML2GrantManager(ssoAgentConfig);
    saml2GrantManager.getAccessToken(request, response);
}

Из-за этого his.request.getSession (false).getAttribute («org.wso2.carbon.identity.sso.agent.LoggedInSessionBean») == null

По сути, я хочу добиться генерации OAuth-токенов из ответа saml

Есть идеи?

...