Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to protect a Google App Engine app with a password?

How would you implement simple password protection on a Google App Engine application? No users authentication, just simple requirement to enter a password in order to open specific page. The other requirement is that the target page should not be displayed if its URL is entered directly.

I'm looking for a solution using Python.

like image 914
Marek Stój Avatar asked Sep 27 '10 16:09

Marek Stój


2 Answers

If you're protecting a single page and need no session persistence.

class MainPage(webapp.RequestHandler):
    def post(self):
        if self.request.get('user') == 'admin' and self.request.get('pass') == 'soopersecure':
            self.response.out.write('authorized');
        else:
            self.response.out.write("""
<form method="post">
<input type="text" name="user"/>
<input type="password" name="pass"/>
<input type="submit" value="login"/>
</form>""")

Otherwise you could hash the username + salt and hand it to user as a session ID in a cookie and store that session ID into the datastore. Much simpler to use Google accounts though.

http://code.google.com/appengine/docs/python/gettingstarted/usingusers.html

like image 162
Novikov Avatar answered Oct 17 '22 12:10

Novikov


If you want to restrict access for the entire app, use URL handler with "login" setting

Check - User and Administrator Login

like image 38
akjain Avatar answered Oct 17 '22 13:10

akjain