Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Epic] Improve handling for user name null cases and syncs #22754

Closed
19 tasks done
adam-james-v opened this issue May 16, 2022 · 0 comments
Closed
19 tasks done

[Epic] Improve handling for user name null cases and syncs #22754

adam-james-v opened this issue May 16, 2022 · 0 comments
Assignees
Labels
Administration/Auth/SSO Enterprise SSO like SAML and JWT .Epic Feature Implementation or Project
Milestone

Comments

@adam-james-v
Copy link
Contributor

adam-james-v commented May 16, 2022

There are some important gaps in how we handle SSO login names at the moment. This project aims to tackle two semi-related issues:

  • We sync new SSO user details and attributes for users on the initial and subsequent logins. For the user’s name specifically (not an issue for other attributes), we sync on initial login but then we don’t update it in subsequent logins. This causes any name-related changes made from the SSO provider to not be updated in Metabase.
  • If a Metabase user's SSO provider does not supply us with a first/last name, we auto-fill Unknown in these cases. This causes weird cases in the product where we refer to people by their first name.

This project will fix the syncing bug and improve the implementation and UI regarding first and last names.

Links

Implementation Plan
The linked issues can be handled independently, even though they are related. So, we'll tackle each as a separate milestone.

Milestone 1: Proper user name sync
This milestone is backend only

  • fix the syncing bug
  • unit tests to check that SSO details are synced

Milestone 2: Better Handling for unknown user names
backend:

  • allow nil first and last names in backend
  • fix logic for :common_name
  • appropriate unit tests

frontend:

  • List places where null user names need to be handled.
    • user.common_name
    • user.first_name
    • user.last_name
    • user.getName()
  • Create special cases in the frontend handling null user name. And use user email in places that require value.
    • user.common_name
    • user.first_name
    • user.last_name
    • user.getName()

Milestone 3: Relax first/last name requirements on manual account creation
We should relax naming requirements in general. If we allow nil appropriately on the backend, this may be a frontend only milestone.

How to Test This Feature Out
Follow the instruction here https://www.notion.so/metabase/Improve-handling-for-user-name-null-cases-and-syncs-9b6b3f93500c42d4b3dd019e7389e865

@adam-james-v adam-james-v added .Epic Feature Implementation or Project Administration/Auth/SSO Enterprise SSO like SAML and JWT labels May 16, 2022
@ranquild ranquild added this to the 0.44 milestone Jul 6, 2022
@WiNloSt WiNloSt closed this as completed Jul 6, 2022
This was referenced May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Administration/Auth/SSO Enterprise SSO like SAML and JWT .Epic Feature Implementation or Project
Projects
None yet
Development

No branches or pull requests

3 participants