Skip to content

Commit

Permalink
hard code auth provider sort order for now #3338
Browse files Browse the repository at this point in the history
  • Loading branch information
pdurbin committed Nov 22, 2016
1 parent 30afb24 commit 44ed735
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/main/java/edu/harvard/iq/dataverse/LoginPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import edu.harvard.iq.dataverse.authorization.CredentialsAuthenticationProvider;
import edu.harvard.iq.dataverse.authorization.exceptions.AuthenticationFailedException;
import edu.harvard.iq.dataverse.authorization.providers.builtin.BuiltinUserServiceBean;
import edu.harvard.iq.dataverse.authorization.providers.shib.ShibAuthenticationProvider;
import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
import edu.harvard.iq.dataverse.util.BundleUtil;
Expand Down Expand Up @@ -128,9 +129,17 @@ public List<AuthenticationProviderDisplayInfo> listCredentialsAuthenticationProv

public List<AuthenticationProviderDisplayInfo> listAuthenticationProviders() {
List<AuthenticationProviderDisplayInfo> infos = new LinkedList<>();
for ( String id : authSvc.getAuthenticationProviderIds() ) {
for (String id : authSvc.getAuthenticationProviderIdsSorted()) {
AuthenticationProvider authenticationProvider = authSvc.getAuthenticationProvider(id);
infos.add( authenticationProvider.getInfo());
if (authenticationProvider != null) {
if (ShibAuthenticationProvider.PROVIDER_ID.equals(authenticationProvider.getId())) {
if (systemConfig.isShibEnabled()) {
infos.add(authenticationProvider.getInfo());
}
} else {
infos.add(authenticationProvider.getInfo());
}
}
}
return infos;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
import edu.harvard.iq.dataverse.authorization.providers.echo.EchoAuthenticationProviderFactory;
import edu.harvard.iq.dataverse.authorization.providers.oauth2.AbstractOAuth2AuthenticationProvider;
import edu.harvard.iq.dataverse.authorization.providers.oauth2.OAuth2AuthenticationProviderFactory;
import edu.harvard.iq.dataverse.authorization.providers.oauth2.impl.GitHubOAuth2AP;
import edu.harvard.iq.dataverse.authorization.providers.oauth2.impl.GoogleOAuth2AP;
import edu.harvard.iq.dataverse.authorization.providers.shib.ShibAuthenticationProvider;
import edu.harvard.iq.dataverse.authorization.users.ApiToken;
import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser;
Expand All @@ -26,6 +28,7 @@
import edu.harvard.iq.dataverse.passwordreset.PasswordResetServiceBean;
import edu.harvard.iq.dataverse.util.BundleUtil;
import java.sql.Timestamp;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
Expand Down Expand Up @@ -834,4 +837,21 @@ public AuthenticatedUser canLogInAsBuiltinUser(String username, String password)
}
}

public List<String> getAuthenticationProviderIdsSorted() {
GitHubOAuth2AP github = new GitHubOAuth2AP(null, null);
GoogleOAuth2AP google = new GoogleOAuth2AP(null, null);
/**
* @todo Stop hard-coding the magic strings "orcid" and "orcid-sandbox"
* below. Centralize them as static.
*/
return Arrays.asList(
BuiltinAuthenticationProvider.PROVIDER_ID,
ShibAuthenticationProvider.PROVIDER_ID,
"orcid",
"orcid-sandbox",
github.getId(),
google.getId()
);
}

}

0 comments on commit 44ed735

Please sign in to comment.