瀏覽代碼

fix: force lowercase for email on local auth

NGPixel 4 年之前
父節點
當前提交
aa96e97028

+ 7 - 0
server/db/migrations-sqlite/2.5.128.js

@@ -0,0 +1,7 @@
+exports.up = async knex => {
+  await knex('users').update({
+    email: knex.raw('LOWER(email)')
+  })
+}
+
+exports.down = knex => { }

+ 7 - 0
server/db/migrations/2.5.128.js

@@ -0,0 +1,7 @@
+exports.up = async knex => {
+  await knex('users').update({
+    email: knex.raw('LOWER(??)', ['email'])
+  })
+}
+
+exports.down = knex => { }

+ 1 - 1
server/models/users.js

@@ -675,7 +675,7 @@ module.exports = class User extends Model {
         if (dupUsr) {
           throw new WIKI.Error.AuthAccountAlreadyExists()
         }
-        usrData.email = email
+        usrData.email = _.toLower(email)
       }
       if (!_.isEmpty(name) && name !== usr.name) {
         usrData.name = _.trim(name)

+ 1 - 1
server/modules/authentication/local/authentication.js

@@ -15,7 +15,7 @@ module.exports = {
       }, async (uEmail, uPassword, done) => {
         try {
           const user = await WIKI.models.users.query().findOne({
-            email: uEmail,
+            email: uEmail.toLowerCase(),
             providerKey: 'local'
           })
           if (user) {