§
Posted: 2018-08-07

Sign In Issue

When trying to sign in to a new GreasyFork account by using external login with GitHub (one of the 3 options on offer) I get this error: [code] Greasy Fork requires an email to make a new account, but GitHub didn't provide one for you. You can either update your GitHub account to have one, then try signing in again, or create a normal email/password account on Greasy Fork, then add your GitHub account to it. [/code]

I have a verified email assigned to GitHub. The fact GitHub is refusing to share it with GreasyFork even though I clicked authorize on the GitHub popup indicates a problem in the "external login" system on Greasy Fork's end. (more on that below)

This can be worked around by using google to sign in externally, and then adding in GitHub (at which point it won't care about the lack of email from github)

Technical: I have tested linking to a GitHub account from both greasyfork and from GitLab and most noticeable difference between the two was that their requested permissions were different.

If you go to your GitLab account and attempt to link it with GitHub, the GitHub permissions authorization request explicitly states that GitLab is request your email from GitHub.

On the other hand, GreasyFork explicitly did NOT request my email from GitHub according to the GitHub authorization screen it called.

This difference clearly shows exactly where the problem is. GreasyFork requires an email to create an account, requests an email from the external sites, but fails to get it because when it creates the initial link the permissions it asks the user to approve explicitly do not include email.

§
Posted: 2019-01-05

Thanks for reporting this. It should be fixed now.

You are correct that Greasy Fork was not asking for email. I believe why it worked when I tested it is that I have a public email set on my account, and this is included in the "public profile info" scope that it was requesting.

Post reply

Sign in to post a reply.