OAuth認証と通常のメールアドレスログインを併用する場合、ユーザーモデルをどのように構成するのが一般的なのか知りたく質問させていただきました。
現在はメールアドレスもOAuth認証で外部サービスから取得してきたIDも下記スキーマのusername
の中に一緒くたにして入れています。
しかし例えば複数のOAuth認証を利用する場合、同じ場所にIDを放り込むとIDが被る可能性はないのか不安に思いました。
また、メールアドレスで登録したユーザーはアドレス変更時にusername
の変更を許可したいが、OAuth認証で登録したユーザーにはそのような変更を許さないために、何かしらの区別を置く必要があると思います。
このような場合、どのようにモデルを構成するのが一般的なのでしょうか?
JavaScript
1const userSchema = new mongoose.Schema({ 2 username: { 3 type: String, 4 required: true, 5 }, 6 displayName: { 7 type: String, 8 }, 9 gender: { 10 type: String, 11 }, 12 age: { 13 type: Number, 14 }, 15});
あなたの回答
tips
プレビュー