paulb@734 | 1 | #!/usr/bin/env python |
paulb@734 | 2 | |
paulb@734 | 3 | from WebStack.Adapters.BaseHTTPRequestHandler import deploy |
paulb@734 | 4 | from WebStack.Resources.OpenIDLogin import OpenIDLoginResource, Authenticator |
paulb@734 | 5 | from WebStack.Resources.ResourceMap import MapResource |
paulb@734 | 6 | from WebStack.Resources.Static import StringResource |
paulb@734 | 7 | from WebStack.Generic import ContentType |
paulb@734 | 8 | |
paulb@734 | 9 | app_url = "http://localhost:8081" # No trailing "/"! |
paulb@734 | 10 | |
paulb@734 | 11 | print "Serving..." |
paulb@734 | 12 | deploy( |
paulb@734 | 13 | MapResource({ |
paulb@734 | 14 | "login" : |
paulb@734 | 15 | OpenIDLoginResource( |
paulb@734 | 16 | app_url=app_url, |
paulb@734 | 17 | authenticator=Authenticator( |
paulb@734 | 18 | credentials=( |
paulb@734 | 19 | # Local identifier, username, password |
paulb@734 | 20 | ((app_url + "/badger", "badger"), "abc"), |
paulb@734 | 21 | ((app_url + "/vole", "vole"), "xyz"), |
paulb@734 | 22 | ) |
paulb@734 | 23 | ) |
paulb@734 | 24 | ), |
paulb@734 | 25 | |
paulb@734 | 26 | # Some local OpenID pages. |
paulb@734 | 27 | |
paulb@734 | 28 | "badger" : |
paulb@734 | 29 | StringResource(""" |
paulb@734 | 30 | <html> |
paulb@734 | 31 | <head> |
paulb@734 | 32 | <link rel="openid2.provider openid.server" href="%s/login" /> |
paulb@734 | 33 | <link rel="openid2.local_id openid.delegate" href="%s/badger" /> |
paulb@734 | 34 | <title>Badger's Home Page</title> |
paulb@734 | 35 | </head> |
paulb@734 | 36 | <body> |
paulb@734 | 37 | <p>Home page for the OpenID authenticated user, <code>badger</code>.</p> |
paulb@734 | 38 | </body> |
paulb@734 | 39 | </html> |
paulb@734 | 40 | """ % (app_url, app_url), ContentType("text/html")), |
paulb@734 | 41 | "vole" : |
paulb@734 | 42 | StringResource(""" |
paulb@734 | 43 | <html> |
paulb@734 | 44 | <head> |
paulb@734 | 45 | <link rel="openid2.provider openid.server" href="%s/login" /> |
paulb@734 | 46 | <link rel="openid2.local_id openid.delegate" href="%s/vole" /> |
paulb@734 | 47 | <title>Vole's Home Page</title> |
paulb@734 | 48 | </head> |
paulb@734 | 49 | <body> |
paulb@734 | 50 | <p>Home page for the OpenID authenticated user, <code>vole</code>.</p> |
paulb@734 | 51 | </body> |
paulb@734 | 52 | </html> |
paulb@734 | 53 | """ % (app_url, app_url), ContentType("text/html")) |
paulb@734 | 54 | }), |
paulb@734 | 55 | address=("", 8081), |
paulb@734 | 56 | handle_errors=0 |
paulb@734 | 57 | ) |
paulb@734 | 58 | |
paulb@734 | 59 | # vim: tabstop=4 expandtab shiftwidth=4 |