summaryrefslogtreecommitdiff
path: root/lib/models/user.js
diff options
context:
space:
mode:
authorSheogorath2018-06-23 23:40:46 +0200
committerSheogorath2018-06-23 23:40:55 +0200
commit318b2d378f54805e99b7022db15136df7c920083 (patch)
tree2f7ea603b4b8c5423ebc07cdc9cc226c62aa1553 /lib/models/user.js
parenta2608c319a8c31f9b173dbb5d00221d3ad96739b (diff)
Allow to disable gravatar
Since Gravatar is an external image source and not perfect from a privacy perspective, forbidding it allows to improve privacy. This commit also simplifies and optimizes the avatar code. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
Diffstat (limited to 'lib/models/user.js')
-rw-r--r--lib/models/user.js30
1 files changed, 5 insertions, 25 deletions
diff --git a/lib/models/user.js b/lib/models/user.js
index 5dd13869..1bd8c745 100644
--- a/lib/models/user.js
+++ b/lib/models/user.js
@@ -1,6 +1,5 @@
'use strict'
// external modules
-var md5 = require('blueimp-md5')
var Sequelize = require('sequelize')
var scrypt = require('scrypt')
@@ -128,10 +127,7 @@ module.exports = function (sequelize, DataTypes) {
}
break
case 'dropbox':
- // no image api provided, use gravatar
- photo = 'https://www.gravatar.com/avatar/' + md5(profile.emails[0].value)
- if (bigger) photo += '?s=400'
- else photo += '?s=96'
+ photo = generateAvatarURL('', profile.emails[0].value, bigger)
break
case 'google':
photo = profile.photos[0].value
@@ -139,35 +135,19 @@ module.exports = function (sequelize, DataTypes) {
else photo = photo.replace(/(\?sz=)\d*$/i, '$196')
break
case 'ldap':
- // no image api provided,
- // use gravatar if email exists,
- // otherwise generate a letter avatar
- if (profile.emails[0]) {
- photo = 'https://www.gravatar.com/avatar/' + md5(profile.emails[0])
- if (bigger) photo += '?s=400'
- else photo += '?s=96'
- } else {
- photo = generateAvatarURL(profile.username)
- }
+ photo = generateAvatarURL(profile.username, profile.emails[0], bigger)
break
case 'saml':
- if (profile.emails[0]) {
- photo = 'https://www.gravatar.com/avatar/' + md5(profile.emails[0])
- if (bigger) photo += '?s=400'
- else photo += '?s=96'
- } else {
- photo = generateAvatarURL(profile.username)
- }
+ photo = generateAvatarURL(profile.username, profile.emails[0], bigger)
break
}
return photo
},
parseProfileByEmail: function (email) {
- var photoUrl = 'https://www.gravatar.com/avatar/' + md5(email)
return {
name: email.substring(0, email.lastIndexOf('@')),
- photo: photoUrl + '?s=96',
- biggerphoto: photoUrl + '?s=400'
+ photo: generateAvatarURL('', email, false),
+ biggerphoto: generateAvatarURL('', email, true)
}
}
}