Skip to content

Commit

Permalink
Fix some review comments
Browse files Browse the repository at this point in the history
  • Loading branch information
henriknyman committed Oct 3, 2018
1 parent 321a81c commit 5b1667c
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
Expand Up @@ -72,6 +72,7 @@ else if ( !(value instanceof byte[]) )
return (byte[]) value; return (byte[]) value;
} }


@SuppressWarnings( "unchecked" )
static Map<String,Object> safeCastMap( String key, Map<String,Object> authToken ) static Map<String,Object> safeCastMap( String key, Map<String,Object> authToken )
throws InvalidAuthTokenException throws InvalidAuthTokenException
{ {
Expand All @@ -95,13 +96,13 @@ else if ( value instanceof Map )
static void clearCredentials( Map<String,Object> authToken ) static void clearCredentials( Map<String,Object> authToken )
{ {
Object credentials = authToken.get( CREDENTIALS ); Object credentials = authToken.get( CREDENTIALS );
if ( credentials != null && credentials instanceof byte[] ) if ( credentials instanceof byte[] )
{ {
Arrays.fill( (byte[]) credentials, (byte) 0 ); Arrays.fill( (byte[]) credentials, (byte) 0 );
} }


Object newCredentials = authToken.get( NEW_CREDENTIALS ); Object newCredentials = authToken.get( NEW_CREDENTIALS );
if ( newCredentials != null && newCredentials instanceof byte[] ) if ( newCredentials instanceof byte[] )
{ {
Arrays.fill( (byte[]) newCredentials, (byte) 0 ); Arrays.fill( (byte[]) newCredentials, (byte) 0 );
} }
Expand Down
Expand Up @@ -24,6 +24,7 @@


import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Map; import java.util.Map;


import org.neo4j.kernel.api.security.exception.InvalidAuthTokenException; import org.neo4j.kernel.api.security.exception.InvalidAuthTokenException;
Expand Down Expand Up @@ -64,12 +65,20 @@ public Map<String,Object> parameters()
return parameters; return parameters;
} }


public static AuthToken of( String principal, char[] credentials, Map<String,Object> parameters ) void clearCredentials()
{
if ( credentials != null )
{
Arrays.fill( credentials, (char) 0 );
}
}

public static PluginApiAuthToken of( String principal, char[] credentials, Map<String,Object> parameters )
{ {
return new PluginApiAuthToken( principal, credentials, parameters ); return new PluginApiAuthToken( principal, credentials, parameters );
} }


public static AuthToken createFromMap( Map<String,Object> authTokenMap ) throws InvalidAuthTokenException public static PluginApiAuthToken createFromMap( Map<String,Object> authTokenMap ) throws InvalidAuthTokenException
{ {
String scheme = org.neo4j.kernel.api.security.AuthToken String scheme = org.neo4j.kernel.api.security.AuthToken
.safeCast( org.neo4j.kernel.api.security.AuthToken.SCHEME_KEY, authTokenMap ); .safeCast( org.neo4j.kernel.api.security.AuthToken.SCHEME_KEY, authTokenMap );
Expand Down
Expand Up @@ -186,7 +186,7 @@ protected AuthenticationInfo doGetAuthenticationInfo( AuthenticationToken token
{ {
try try
{ {
AuthToken pluginAuthToken = PluginApiAuthToken pluginAuthToken =
PluginApiAuthToken.createFromMap( ((ShiroAuthToken) token).getAuthTokenMap() ); PluginApiAuthToken.createFromMap( ((ShiroAuthToken) token).getAuthTokenMap() );
try try
{ {
Expand Down Expand Up @@ -216,7 +216,7 @@ else if ( authenticationPlugin != null )
finally finally
{ {
// Clear credentials // Clear credentials
Arrays.fill( pluginAuthToken.credentials(), (char) 0 ); pluginAuthToken.clearCredentials();
} }
} }
catch ( org.neo4j.server.security.enterprise.auth.plugin.api.AuthenticationException | catch ( org.neo4j.server.security.enterprise.auth.plugin.api.AuthenticationException |
Expand Down

0 comments on commit 5b1667c

Please sign in to comment.