1   package com.atlassian.seraph.config;
2   
3   import com.atlassian.seraph.Initable;
4   
5   /**
6    * Strategy for programatically overriding the SecurityConfig's default login/logout URL configuration.
7    * This is useful for applications that may only know their login URL at runtime (for example, JIRA
8    * Studio)
9    *
10   * <p>Technically this should be a LoginLogoutUrlStrategy, but that's a really dumb name. :)
11   */
12  public interface LoginUrlStrategy extends Initable
13  {
14      String getLoginURL(SecurityConfig config, String configuredLoginUrl);
15  
16      String getLogoutURL(SecurityConfig config, String configuredLogoutUrl);
17  
18      String getLinkLoginURL(SecurityConfig config, String configuredLinkLoginUrl);
19  }