Looks good, I like the aesthetics of it. Before I continue my implementation I have a question about functionality:
Once the user clicks ‘Create team with GitLab Account’ they will be redirected to GitLab to login/give Mattermost access. They will then be redirected to Mattermost. When it’s a user joining an existing team we ask the user here what username they want (with the field auto-populated from their GitLab account). For creating the user during SSO team creation we can either do the same or just try their username automatically (and append a number if the username is taken). Which do you think is better?
I personally think it would be better to automatically use the username from GitLab and then if the user doesn’t like it they can change it once in the team. It’s one less step for the user in the sign-up flow. If this is how we want to do it, would we want to change for signing up users for existing teams as well (it would make the code simpler)?