Requiring case-insensitive usernames might make it a bit
more difficult for existing systems with case-sensitive
usernames.  For example, I think jupyterhub servers can be
set up to use unix usernames, which would be case-sensitive.

On Wed, Jun 14, 2017 at 10:18:52AM -0400, Suresh Marru wrote:
> Hi Marcus,
> 
> Interesting problem. Your conclusion seems to be the right approach. 
> 
> + 1 for fixing the legacy data and also for employing lowercasing all the 
> tables you identified.
> 
> Suresh
> 
> > On Jun 14, 2017, at 10:14 AM, Christie, Marcus Aaron <machr...@iu.edu> 
> > wrote:
> > 
> > Dev,
> > 
> > During testing integration with Keycloak, Eroma discovered several issues 
> > [1] [2] [3] [4] related to having a legacy username with mixed upper and 
> > lower case characters.  WSO2 IS allowed users to have usernames with upper 
> > case characters.  However, Keycloak lowercases the username when a user is 
> > created so all usernames in Keycloak are lowercase.  This causes a problem 
> > when code compares a user’s logged in username with usernames in the 
> > Airavata database that have upper case characters.  For example, the PGA 
> > when trying to determine if the logged in user can write to a project gets 
> > all of the accessible users and compares the logged in username against the 
> > list of accessible usernames.
> > 
> > After some thought I’ve come around to thinking that Keycloak lowercasing 
> > usernames is a good idea. It could cause confusion and potential security 
> > issues to allow users to have case-sensistive usernames.  Two usernames 
> > could be identical except for case and it would be reasonable for users to 
> > assume that they represent the same user.
> > 
> > So I think Airavata and specifically the User Profile service should adopt 
> > the same policy and lowercase usernames.
> > 
> > For legacy data, to fix the issues Eroma encountered, we would need to do a 
> > one-time conversion of legacy usernames to lowercase.  This would involve:
> > * lowercasing all usernames in Airavata database. See [5] for list of 
> > tables that would be affected
> > * lowercase the user directory names in gateway user storage on the PGA 
> > servers
> >   * likewise lowercase the user directory names in DATA_REPLICA_LOCATION
> > 
> > I’m open to any feedback.
> > 
> > Thanks,
> > 
> > Marcus
> > 
> > [1] https://issues.apache.org/jira/browse/AIRAVATA-2437 
> > <https://issues.apache.org/jira/browse/AIRAVATA-2437>
> > [2] https://issues.apache.org/jira/browse/AIRAVATA-2438 
> > <https://issues.apache.org/jira/browse/AIRAVATA-2438>
> > [3] https://issues.apache.org/jira/browse/AIRAVATA-2439 
> > <https://issues.apache.org/jira/browse/AIRAVATA-2439>
> > [4] https://issues.apache.org/jira/browse/AIRAVATA-2440 
> > <https://issues.apache.org/jira/browse/AIRAVATA-2440>
> > [5] 
> > https://issues.apache.org/jira/browse/AIRAVATA-2438?focusedCommentId=16049210&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16049210
> >  
> > <https://issues.apache.org/jira/browse/AIRAVATA-2438?focusedCommentId=16049210&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16049210>
> > 
> > 
> 

Reply via email to