Add support for auth email addresses besides just @google.com.
diff --git a/.gitignore b/.gitignore
index d65e9e4..9ffe54e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
*~
.*~
*.pyc
+email-allow.txt
diff --git a/app.py b/app.py
index d727a0b..6711be5 100644
--- a/app.py
+++ b/app.py
@@ -1,5 +1,6 @@
#!/usr/bin/env python
import collections
+import errno
import json
import os.path
import random
@@ -39,12 +40,24 @@
return ''.join(out)
+def AllowedEmails():
+ try:
+ return open('email-allow.txt').read().split()
+ except IOError as e:
+ if e.errno == errno.ENOENT:
+ pass
+ else:
+ raise
+ return []
+
+
def GoogleLoginRequired(func):
def Handler(self, *args, **kwargs):
user = users.get_current_user()
if not user:
self.redirect(users.create_login_url('/'))
- elif not user.email().endswith('@google.com'):
+ elif (not user.email().endswith('@google.com') and
+ user.email() not in AllowedEmails()):
self.response.set_status(401, 'Unauthorized')
self.response.write("Sorry. You're not an authorized user.")
else: