From bd13995e2c29d726b544d540d73dcd307f6e6d40 Mon Sep 17 00:00:00 2001 From: Henrik Nyman Date: Thu, 15 Sep 2016 22:15:14 +0200 Subject: [PATCH] Rename main plugin methods to clarify concepts - getAuthenticationInfo -> authenticate - getAuthorizationInfo -> authorize - getAuthInfo -> authenticateAndAuthorize --- .../enterprise/auth/plugin/PluginRealm.java | 6 ++--- .../enterprise/auth/plugin/spi/AuthInfo.java | 2 +- .../auth/plugin/spi/AuthPlugin.java | 2 +- .../auth/plugin/spi/AuthenticationInfo.java | 2 +- .../auth/plugin/spi/AuthenticationPlugin.java | 2 +- .../auth/plugin/spi/AuthorizationInfo.java | 2 +- .../auth/plugin/spi/AuthorizationPlugin.java | 4 +-- .../auth/plugin/spi/CacheableAuthInfo.java | 4 +-- .../spi/CacheableAuthenticationInfo.java | 4 +-- .../CustomCacheableAuthenticationInfo.java | 2 +- .../plugin/LdapGroupHasUsersAuthPlugin.java | 25 ++----------------- .../auth/plugin/TestAuthPlugin.java | 18 ++----------- .../auth/plugin/TestAuthenticationPlugin.java | 2 +- .../auth/plugin/TestAuthorizationPlugin.java | 2 +- .../auth/plugin/TestCacheableAuthPlugin.java | 2 +- .../TestCacheableAuthenticationPlugin.java | 2 +- .../auth/plugin/TestCombinedAuthPlugin.java | 4 +-- ...stCustomCacheableAuthenticationPlugin.java | 2 +- 18 files changed, 26 insertions(+), 61 deletions(-) diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/PluginRealm.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/PluginRealm.java index 9a26c07b6ed4..5694bfc5c0fc 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/PluginRealm.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/PluginRealm.java @@ -145,7 +145,7 @@ protected AuthorizationInfo doGetAuthorizationInfo( PrincipalCollection principa if ( authorizationPlugin != null ) { org.neo4j.server.security.enterprise.auth.plugin.spi.AuthorizationInfo authorizationInfo = - authorizationPlugin.getAuthorizationInfo( getPrincipalAndRealmCollection( principals ) ); + authorizationPlugin.authorize( getPrincipalAndRealmCollection( principals ) ); if ( authorizationInfo != null ) { return PluginAuthorizationInfo.create( authorizationInfo ); @@ -163,7 +163,7 @@ protected AuthenticationInfo doGetAuthenticationInfo( AuthenticationToken token { if ( authPlugin != null ) { - AuthInfo authInfo = authPlugin.getAuthInfo( ((ShiroAuthToken) token).getAuthTokenMap() ); + AuthInfo authInfo = authPlugin.authenticateAndAuthorize( ((ShiroAuthToken) token).getAuthTokenMap() ); if ( authInfo != null ) { PluginAuthInfo pluginAuthInfo = @@ -177,7 +177,7 @@ protected AuthenticationInfo doGetAuthenticationInfo( AuthenticationToken token else if ( authenticationPlugin != null ) { org.neo4j.server.security.enterprise.auth.plugin.spi.AuthenticationInfo authenticationInfo = - authenticationPlugin.getAuthenticationInfo( ((ShiroAuthToken) token).getAuthTokenMap() ); + authenticationPlugin.authenticate( ((ShiroAuthToken) token).getAuthTokenMap() ); if ( authenticationInfo != null ) { return PluginAuthenticationInfo.createCacheable( authenticationInfo, getName(), secureHasher ); diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthInfo.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthInfo.java index 79feae80857e..440a3b9b490a 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthInfo.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthInfo.java @@ -30,7 +30,7 @@ * *

NOTE: If authentication caching is enabled the result type CacheableAuthInfo should be used instead. * - * @see AuthPlugin#getAuthInfo(Map) + * @see AuthPlugin#authenticateAndAuthorize(Map) * @see CacheableAuthInfo */ public interface AuthInfo extends Serializable diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthPlugin.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthPlugin.java index ba7aa6eee9e6..3f5a46525c8c 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthPlugin.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthPlugin.java @@ -37,7 +37,7 @@ public interface AuthPlugin extends RealmLifecycle /** * TODO */ - AuthInfo getAuthInfo( Map authToken ) throws AuthenticationException; + AuthInfo authenticateAndAuthorize( Map authToken ) throws AuthenticationException; abstract class Adapter implements AuthPlugin { diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthenticationInfo.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthenticationInfo.java index 05edb630a1d3..4d9ca6f20e35 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthenticationInfo.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthenticationInfo.java @@ -25,7 +25,7 @@ /** * An object that can be returned as the result of successful authentication by an AuthenticationPlugin. * - * @see AuthenticationPlugin#getAuthenticationInfo(Map) + * @see AuthenticationPlugin#authenticate(Map) */ public interface AuthenticationInfo extends Serializable { diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthenticationPlugin.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthenticationPlugin.java index b3417718803b..c33a018b84c7 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthenticationPlugin.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthenticationPlugin.java @@ -36,7 +36,7 @@ public interface AuthenticationPlugin extends RealmLifecycle /** * TODO */ - AuthenticationInfo getAuthenticationInfo( Map authToken ); + AuthenticationInfo authenticate( Map authToken ); abstract class Adapter implements AuthenticationPlugin { diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthorizationInfo.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthorizationInfo.java index ee03ce5d372d..3ec1535241bc 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthorizationInfo.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthorizationInfo.java @@ -25,7 +25,7 @@ /** * An object that can be returned as the result of authorization by an AuthorizationPlugin. * - * @see AuthorizationPlugin#getAuthorizationInfo(Collection) + * @see AuthorizationPlugin#authorize(Collection) */ public interface AuthorizationInfo extends Serializable { diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthorizationPlugin.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthorizationPlugin.java index 351fe1fd2d50..e25815ba45c7 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthorizationPlugin.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/AuthorizationPlugin.java @@ -58,7 +58,7 @@ public String realm() /** * TODO */ - AuthorizationInfo getAuthorizationInfo( Collection principals ); + AuthorizationInfo authorize( Collection principals ); class Adapter implements AuthorizationPlugin { @@ -70,7 +70,7 @@ public String name() } @Override - public AuthorizationInfo getAuthorizationInfo( Collection principals ) + public AuthorizationInfo authorize( Collection principals ) { return null; } diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/CacheableAuthInfo.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/CacheableAuthInfo.java index 776b4f143c29..6d7419aa7f4c 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/CacheableAuthInfo.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/CacheableAuthInfo.java @@ -40,7 +40,7 @@ *

NOTE: Caching of the authorization info (assigned roles) does not require the use of a CacheableAuthInfo * but will work fine with a regular AuthInfo. * - * @see AuthPlugin#getAuthInfo(Map) + * @see AuthPlugin#authenticateAndAuthorize(Map) * @see org.neo4j.server.security.enterprise.auth.plugin.api.RealmOperations#setAuthenticationCachingEnabled(boolean) * @see AuthInfo * @see AuthenticationPlugin @@ -73,7 +73,7 @@ public interface CacheableAuthInfo extends AuthInfo * @return credentials that can be cached * * @see org.neo4j.server.security.enterprise.auth.plugin.api.AuthToken#CREDENTIALS - * @see AuthPlugin#getAuthInfo(Map) + * @see AuthPlugin#authenticateAndAuthorize(Map) */ byte[] getCredentials(); diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/CacheableAuthenticationInfo.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/CacheableAuthenticationInfo.java index 226a2bc817a7..18906a8e615f 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/CacheableAuthenticationInfo.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/CacheableAuthenticationInfo.java @@ -33,7 +33,7 @@ * *

NOTE: Caching only occurs if it is explicitly enabled by the plugin. * - * @see AuthenticationPlugin#getAuthenticationInfo(Map) + * @see AuthenticationPlugin#authenticate(Map) * @see org.neo4j.server.security.enterprise.auth.plugin.api.RealmOperations#setAuthenticationCachingEnabled(boolean) * @see CustomCacheableAuthenticationInfo */ @@ -63,7 +63,7 @@ public interface CacheableAuthenticationInfo extends AuthenticationInfo * @return credentials that can be cached * * @see org.neo4j.server.security.enterprise.auth.plugin.api.AuthToken#CREDENTIALS - * @see AuthenticationPlugin#getAuthenticationInfo(Map) + * @see AuthenticationPlugin#authenticate(Map) */ byte[] getCredentials(); diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/CustomCacheableAuthenticationInfo.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/CustomCacheableAuthenticationInfo.java index d0e658bd970a..c67886aa70fd 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/CustomCacheableAuthenticationInfo.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/spi/CustomCacheableAuthenticationInfo.java @@ -35,7 +35,7 @@ * *

NOTE: Caching only occurs if it is explicitly enabled by the plugin. * - * @see AuthenticationPlugin#getAuthenticationInfo(Map) + * @see AuthenticationPlugin#authenticate(Map) * @see org.neo4j.server.security.enterprise.auth.plugin.api.RealmOperations#setAuthenticationCachingEnabled(boolean) * @see CacheableAuthenticationInfo */ diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/LdapGroupHasUsersAuthPlugin.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/LdapGroupHasUsersAuthPlugin.java index af1b37e80e8b..d4c15cbb0eda 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/LdapGroupHasUsersAuthPlugin.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/LdapGroupHasUsersAuthPlugin.java @@ -37,11 +37,10 @@ import org.neo4j.server.security.enterprise.auth.plugin.api.AuthToken; import org.neo4j.server.security.enterprise.auth.plugin.api.AuthenticationException; import org.neo4j.server.security.enterprise.auth.plugin.api.PredefinedRoles; -import org.neo4j.server.security.enterprise.auth.plugin.api.RealmOperations; import org.neo4j.server.security.enterprise.auth.plugin.spi.AuthInfo; import org.neo4j.server.security.enterprise.auth.plugin.spi.AuthPlugin; -public class LdapGroupHasUsersAuthPlugin implements AuthPlugin +public class LdapGroupHasUsersAuthPlugin extends AuthPlugin.Adapter { private static final String GROUP_SEARCH_BASE = "ou=groups,dc=example,dc=com"; private static final String GROUP_SEARCH_FILTER = "(&(objectClass=posixGroup)(memberUid={0}))"; @@ -54,7 +53,7 @@ public String name() } @Override - public AuthInfo getAuthInfo( Map authToken ) throws AuthenticationException + public AuthInfo authenticateAndAuthorize( Map authToken ) throws AuthenticationException { try { @@ -72,26 +71,6 @@ public AuthInfo getAuthInfo( Map authToken ) throws Authenticatio } } - @Override - public void initialize( RealmOperations realmOperations ) throws Throwable - { - } - - @Override - public void start() throws Throwable - { - } - - @Override - public void stop() throws Throwable - { - } - - @Override - public void shutdown() throws Throwable - { - } - private LdapContext authenticate( String username, String password ) throws NamingException { Hashtable env = new Hashtable<>(); diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestAuthPlugin.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestAuthPlugin.java index aaa63bf85220..dd45191a8f73 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestAuthPlugin.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestAuthPlugin.java @@ -19,7 +19,6 @@ */ package org.neo4j.server.security.enterprise.auth.plugin; -import java.util.Collection; import java.util.Collections; import java.util.Map; @@ -38,27 +37,14 @@ public String name() } @Override - public AuthInfo getAuthInfo( Map authToken ) + public AuthInfo authenticateAndAuthorize( Map authToken ) { String principal = (String) authToken.get( AuthToken.PRINCIPAL ); String credentials = (String) authToken.get( AuthToken.CREDENTIALS ); if ( principal.equals( "neo4j" ) && credentials.equals( "neo4j" ) ) { - return new AuthInfo() - { - @Override - public Object getPrincipal() - { - return "neo4j"; - } - - @Override - public Collection getRoles() - { - return Collections.singleton( PredefinedRoles.READER ); - } - }; + return AuthInfo.of( "neo4j", Collections.singleton( PredefinedRoles.READER ) ); } return null; } diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestAuthenticationPlugin.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestAuthenticationPlugin.java index e5102627e0b8..418df72e7a4e 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestAuthenticationPlugin.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestAuthenticationPlugin.java @@ -34,7 +34,7 @@ public String name() } @Override - public AuthenticationInfo getAuthenticationInfo( Map authToken ) + public AuthenticationInfo authenticate( Map authToken ) { String principal = (String) authToken.get( AuthToken.PRINCIPAL ); String credentials = (String) authToken.get( AuthToken.CREDENTIALS ); diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestAuthorizationPlugin.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestAuthorizationPlugin.java index 66bd07ed69ad..3d1903750330 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestAuthorizationPlugin.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestAuthorizationPlugin.java @@ -35,7 +35,7 @@ public String name() } @Override - public AuthorizationInfo getAuthorizationInfo( Collection principals ) + public AuthorizationInfo authorize( Collection principals ) { if ( principals.stream().anyMatch( p -> "neo4j".equals( p.principal() ) ) ) { diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCacheableAuthPlugin.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCacheableAuthPlugin.java index ab22a86d4d7a..8ea2fc4bf853 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCacheableAuthPlugin.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCacheableAuthPlugin.java @@ -38,7 +38,7 @@ public String name() } @Override - public AuthInfo getAuthInfo( Map authToken ) + public AuthInfo authenticateAndAuthorize( Map authToken ) { getAuthInfoCallCount.incrementAndGet(); diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCacheableAuthenticationPlugin.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCacheableAuthenticationPlugin.java index 35c1b0c153e1..d41c87ef0241 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCacheableAuthenticationPlugin.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCacheableAuthenticationPlugin.java @@ -36,7 +36,7 @@ public String name() } @Override - public AuthenticationInfo getAuthenticationInfo( Map authToken ) + public AuthenticationInfo authenticate( Map authToken ) { getAuthenticationInfoCallCount.incrementAndGet(); diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCombinedAuthPlugin.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCombinedAuthPlugin.java index 1e3797f3d693..8f6048910018 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCombinedAuthPlugin.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCombinedAuthPlugin.java @@ -40,7 +40,7 @@ public String name() } @Override - public AuthenticationInfo getAuthenticationInfo( Map authToken ) + public AuthenticationInfo authenticate( Map authToken ) { String principal = (String) authToken.get( AuthToken.PRINCIPAL ); String credentials = (String) authToken.get( AuthToken.CREDENTIALS ); @@ -53,7 +53,7 @@ public AuthenticationInfo getAuthenticationInfo( Map authToken ) } @Override - public AuthorizationInfo getAuthorizationInfo( Collection principals ) + public AuthorizationInfo authorize( Collection principals ) { if ( principals.stream().anyMatch( p -> "neo4j".equals( p.principal() ) ) ) { diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCustomCacheableAuthenticationPlugin.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCustomCacheableAuthenticationPlugin.java index bddfe610e5c2..30dca0731cc2 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCustomCacheableAuthenticationPlugin.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/plugin/TestCustomCacheableAuthenticationPlugin.java @@ -37,7 +37,7 @@ public String name() } @Override - public AuthenticationInfo getAuthenticationInfo( Map authToken ) + public AuthenticationInfo authenticate( Map authToken ) { getAuthenticationInfoCallCount.incrementAndGet();