Fix GitHub OAuth2 for accounts without email #233
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
So maybe I'm one of the few people using the GitHub OAuth.
But it not working correctly.
It throws an error:
This is because
$event->getPassport()?->getUser()->getUserIdentifier()
returns null. which is not accepted bylogWebLogin
So that fixes one issue, but yes, another one arose. (like always...)
So appears
$response['email']
is NULL on my account,this is because I've enabled the GitHub option:
Keep my email addresses private
So in this case, we can use the username as
user_identifier
.Further down in the
public function createUser
it breaks hard on the same issue withemail
as a database constrained.I've copied the
$email
part fromBaseIntegrationTrait
.Also added .docker to the gitignore and renamed the Phpunit folder to PHPUnitOverride.
As phpunit the file and Phpunit the folder will not work on windows due to naming stuff and ... windows.