· 7 years ago · Dec 18, 2018, 07:02 AM
1from google.appengine.api import users
2from google.appengine.ext import webapp
3from google.appengine.ext.webapp.util import run_wsgi_app
4
5openIdProviders = (
6 'Google.com/accounts/o8/id', # shorter alternative: "Gmail.com"
7 'Yahoo.com',
8 'MySpace.com',
9 'AOL.com',
10 'MyOpenID.com',
11 # add more here
12)
13
14class MainHandler(webapp.RequestHandler):
15 def get(self):
16 user = users.get_current_user()
17 if user: # signed in already
18 self.response.out.write('Hello <em>%s</em>! [<a href="%s">sign out</a>]' % (
19 user.nickname(), users.create_logout_url(self.request.uri)))
20 else: # let user choose authenticator
21 self.response.out.write('Hello world! Sign in at: ')
22 for p in openIdProviders:
23 p_name = p.split('.')[0] # take "AOL" from "AOL.com"
24 p_url = p.lower() # "AOL.com" -> "aol.com"
25 self.response.out.write('[<a href="%s">%s</a>]' % (
26 users.create_login_url(federated_identity=p_url), p_name))
27
28application = webapp.WSGIApplication([
29 ('/', MainHandler),
30], debug=True)
31
32def main():
33 run_wsgi_app(application)
34
35if __name__ == '__main__':
36 main()