1
0
mirror of https://github.com/fazo96/homework.git synced 2025-01-09 12:10:08 +01:00
homework/server/accounts.coffee

53 lines
1.7 KiB
CoffeeScript
Raw Normal View History

2014-05-31 18:09:56 +02:00
# Homework - Server side accounts code
2014-06-05 17:03:10 +02:00
# Regular Expression to see if an email can be valid
2014-05-31 18:09:56 +02:00
validateEmail = (email) ->
x = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/
x.test email
2014-06-05 17:03:10 +02:00
Accounts.config {
sendVerificationEmail: true
2014-10-06 13:00:57 +02:00
loginExpirationInDays: 30
2014-06-05 17:03:10 +02:00
}
# Login via external services
if Meteor.settings.facebook
ServiceConfiguration.configurations.upsert { service: "facebook" }, $set: {
service: "facebook"
appId: Meteor.settings.facebook.appId
#loginStyle: "popup"
secret: Meteor.settings.facebook.secret
}
else ServiceConfiguration.configurations.remove { service: "facebook" }
if Meteor.settings.twitter
ServiceConfiguration.configurations.upsert { service: "twitter" }, $set: {
service: "twitter"
consumerKey: Meteor.settings.twitter.consumerKey
#loginStyle: "popup"
secret: Meteor.settings.twitter.secret
}
else ServiceConfiguration.configurations.remove { service: "twitter" }
2014-06-05 17:03:10 +02:00
# Code that checks if a new user request is valid
2014-05-31 18:09:56 +02:00
Accounts.validateNewUser (user) ->
2014-10-09 16:46:23 +02:00
if user.services.twitter?
user.username = user.services.twitter.screenName
return yes
if user.services.facebook?
user.username = user.services.facebook.name
return yes
2014-05-31 18:09:56 +02:00
mail = user.emails[0].address
if Match.test(mail,String) is no or validateEmail(mail) is no
throw new Meteor.Error 403, "Invalid Email"
return yes
2014-06-05 17:03:10 +02:00
# Email configuration code
2014-05-31 18:09:56 +02:00
Accounts.emailTemplates.siteName = "Homework App"
Accounts.emailTemplates.verifyEmail.text = (user,url) ->
urlist = url.split('/'); token = urlist[urlist.length-1]
url = Meteor.absoluteUrl 'verify/'+token
2014-05-31 18:09:56 +02:00
'''Welcome to Homework! To activate your account, click on the \
following link: '''+url