#1712  Login with GitHub does not work when a user does not publish his email
Released
Artur opened 4 months ago

I have my emails set to private on github, which seems like a reasonable option. However, 1dev cannot login a user with github if user's email is not public.

Maybe, 1dev could ask github for user's email during authorization time?

Robin Shen commented 4 months ago

A public email is required for security reason. Considering this scenario:

  1. An internal account "robin" exists in OneDev with administration permission
  2. OneDev is configured to accept login via GitHub SSO
  3. A hacker creates an account name "robin" at GitHub, and logins via GitHub SSO. At this point, OneDev finds that the account "robin" already exists, and it ensures that GitHub account has same email address as internal account "robin" before allowing account access.
Artur commented 4 months ago

I understand the need for the email for a user. However, having your email public anywhere is not a good idea nowadays. It's like asking for more spam and inviting scammers. Therefore, I have my email private and I think more and more people will be hiding their emails.

I just wonder if the 1dev can ask github to access user's email if it is set to private? This way user can hide his email from public and 1dev can check user's email during authorization time.

Robin Shen changed fields 4 months ago
Name Previous Value Current Value
Type
Improvement
Bug
Affected Versions
empty
<=9.5.0
OneDev changed state to 'Closed' 4 months ago
Previous Value Current Value
Open
Closed
OneDev commented 4 months ago

State changed as code fixing the issue is committed (b2fecfc8)

Referenced from commit 4 months ago
OneDev changed state to 'Released' 4 months ago
Previous Value Current Value
Closed
Released
OneDev commented 4 months ago

State changed as build #4496 is successful

issue 1 of 1
Type
Bug
Priority
Normal
Assignee
Affected Versions
<=9.5.0
Labels
No labels
Issue Votes (0)
Watchers (3)
Reference
onedev/server#1712
Please wait...
Page is in error, reload to recover