Uploaded image for project: 'Crowd Data Center'
  1. Crowd Data Center
  2. CWD-1985

Seraph 2.2 breaks the CrowdAuthenticator for Apps

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • High
    • 2.0.7
    • 2.0.5
    • None
    • None

    Description

      Method getLoginCookieKey (DefaultAuthenticator), exists in Seraph 2.1.4 but was removed from 2.2 (JIRA 4.2).

      Class CrowdAuthenticator extends DefaultAuthenticator and uses getLoginCookieKey.

      Tested with JIRA 4.2-m7

      Exception caught in 500 page com.atlassian.crowd.integration.seraph.CrowdAuthenticator.getLoginCookieKey()Ljava/lang/String;
      java.lang.NoSuchMethodError: com.atlassian.crowd.integration.seraph.CrowdAuthenticator.getLoginCookieKey()Ljava/lang/String;
      	at com.atlassian.crowd.integration.seraph.CrowdAuthenticator.autoLoginToCrowd(CrowdAuthenticator.java:225)
      	at com.atlassian.crowd.integration.seraph.CrowdAuthenticator.isAuthenticated(CrowdAuthenticator.java:166)
      	at com.atlassian.crowd.integration.seraph.CrowdAuthenticator.getUser(CrowdAuthenticator.java:280)
      	at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:150)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:140)
      

      Seraph 2.2 DefaultAuthenticator

      package com.atlassian.seraph.auth;
      
      public class DefaultAuthenticator extends AbstractAuthenticator
      {
      	public static final String LOGGED_IN_KEY = "seraph_defaultauthenticator_user";
      	public static final String LOGGED_OUT_KEY = "seraph_defaultauthenticator_logged_out_user";
      	private static final Logger log = Logger.getLogger(com/atlassian/seraph/auth/DefaultAuthenticator);
      	private String basicAuthParameterName;
      	public DefaultAuthenticator()
      
      	public void init(Map params, SecurityConfig config);
      
      	public boolean isUserInRole(HttpServletRequest request, String role);
      
      	public boolean login(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, String userName, String password, boolean setRememberMeCookie);
      		throws AuthenticatorException
      
      	public boolean logout(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);
      		throws AuthenticatorException
      
      	protected boolean authoriseUserAndEstablishSession(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Principal principal);
      
      	protected boolean isAuthorised(HttpServletRequest httpServletRequest, Principal principal);
      
      	protected void putPrincipalInSessionContext(HttpServletRequest httpServletRequest, Principal principal);
      
      	protected void removePrincipalFromSessionContext(HttpServletRequest httpServletRequest);
      
      	protected RoleMapper getRoleMapper();
      
      	protected Principal getUser(String username);
      
      	protected boolean authenticate(Principal user, String password);
      	
      	public Principal getUser(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);
      	
      	protected Principal getUserFromSession(HttpServletRequest httpServletRequest);
      
      	protected Principal getUserFromCookie(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);
      
      	protected Principal getUserFromBasicAuthentication(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);
      
      	public String getAuthType();
      
      	protected List getLogoutInterceptors();
      
      	protected ElevatedSecurityGuard getElevatedSecurityGuard();
      
      	protected RememberMeService getRememberMeService();
      }
      

      Attachments

        Issue Links

          Activity

            People

              shamid@atlassian.com shihab
              rbattaglin Renan Battaglin
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 24h
                  24h
                  Remaining:
                  Remaining Estimate - 24h
                  24h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified