password_hash & salt with facebook authentication

AI-generated summary

When using Facebook authentication, the password_hash and salt fields in the database are still populated. will_io initially questioned what values from the Facebook API correspond to these fields, but discovered that even when users sign up with Facebook, a password_hash and salt are still generated. fantasticfears and fantasticfears clarified that the password is not set by the user, but rather can be reset by the user through their settings page. pfaffman explained that a single account can authenticate against multiple mechanisms, including local password, Google, or Facebook, as long as the email is the same. Hyan confirmed this behavior and noted that users can log in using either their OAuth2 provider credentials or their local password, set through the reset password function.

What in the facebook API becomes the password_hash and salt when a user signs up and authenticates using facebook?

They are remain empty.

I thought there was a portion of users who – if they have their facebook settings set a specific way – could possibly both authenticate using facebook and also set a password.

I think that’s my problem. Or I might have a different problem.

Either way I have a user with Facebook() as a login and a password_hash/salt in the db.

Edit: I just checked with a dummy facebook acct. A password_hash and salt are still being set at registration if I use facebook. So something on my end might be drastically wrong I just don’t know what.

I am not following.

It doesn’t matter at all. You don’t have chance to set password when using an OAuth services if they provide username and email.

The user can use their setting page to reset their password.

Users can authenticate against any of the available mechanisms. As long as the email is the same, a single account can authenticate against Google, Facebook, or a local password. Does that explain what you are seeing?

J’avais la même question. Pourquoi le password_hash (ou le sel) est-il toujours défini dans la base de données pour un compte enregistré via des fournisseurs OAuth (j’utilise le plugin Discourse OAuth2 Basic). Mon expérience prouve que les utilisateurs peuvent se connecter (si l’on ne désactive pas « activer les connexions locales » lorsque OAuth2 est activé et configuré) via leur mot de passe local défini via les fonctions de réinitialisation de mot de passe dans leur panneau de préférences. Ils peuvent également se connecter via leurs identifiants de fournisseur OAuth2. Les deux mécanismes sont autorisés comme l’a dit pfaffman.

Je suis curieux de savoir quelle est la valeur brute initiale du password_hash ?