2017-02-12 10 views
0

FacebookとTwitterを使用してソーシャル認証を統合するアプリケーションを開発しています。私はそれのためにPassportjsを使用しています。また、ローカルログイン/サインアップのオプションもあります。空白のままにFacebookやパスワードのエンティティを通じてユーザ認証のユースケースがあった場合でも、ローカルログイン/サインアップのための私のユーザー・スキーマは、私がrequired: trueとして、パスワードの実体を保つべきである。このPassportjsを使用したMongooseスキーマのパスワードフィールド

var UserSchema = new Schema({ 

    name: { type: String, required: true}, 
    email: { type: String, required: true}, 
    password: { type: String, required: true, select: false }, 
    username: { type: String, required: true, index: { unique: true}} 

}); 

のように見えますか?

ここで実行できる解決策はありますか?

答えて

0

私の意見では、ソーシャル認証のパスワードは不要であるため、モデルから必須フィールドを削除する必要があります。しかし、ユーザーがローカルサインインを実行しようとすると、必要な属性をHTMLフォームに入れて、バックエンドAPIからパスワードをチェックしてパスワードが正しいかどうかを調べることができます。

関連する問題