ソースを参照

Fix registration via github and allow people to set a password when registering via github

Jordi Boggiano 9 年 前
コミット
57b1e74ba8

+ 4 - 0
app/config/config.yml

@@ -86,6 +86,10 @@ hwi_oauth:
         account_connector: packagist.user_provider
         registration_form_handler: packagist.oauth.registration_form_handler
         registration_form: packagist.oauth.registration_form
+    fosub:
+        username_iterations: 30
+        properties:
+            github: githubId
     resource_owners:
         github:
             type:          github

+ 4 - 2
src/Packagist/WebBundle/Form/Handler/OAuthRegistrationFormHandler.php

@@ -60,8 +60,10 @@ class OAuthRegistrationFormHandler implements RegistrationFormHandlerInterface
             $form->handleRequest($request);
 
             if ($form->isValid()) {
-                $randomPassword = $this->tokenGenerator->generateToken();
-                $user->setPlainPassword($randomPassword);
+                if (!$user->getPassword() && !$user->getPlainPassword()) {
+                    $randomPassword = $this->tokenGenerator->generateToken();
+                    $user->setPlainPassword($randomPassword);
+                }
                 $user->setEnabled(true);
 
                 $apiToken = substr($this->tokenGenerator->generateToken(), 0, 20);