Trivial replaces in openid_fas.py (even though we'll probably replace the whole thing).

This commit is contained in:
Ricky Zhou (周家杰) 2008-03-02 22:30:41 -05:00
parent 150810f06f
commit 7ba2cf704e
4 changed files with 20 additions and 15 deletions

View file

@ -38,7 +38,7 @@ class Root(controllers.RootController):
cla = CLA()
json = JsonRequest()
help = Help()
# openid = OpenID()
#openid = OpenID()
# TODO: Find a better place for this.
os.environ['GNUPGHOME'] = config.get('gpghome')

View file

@ -11,7 +11,10 @@ from openid.store.filestore import FileOpenIDStore
from fas.auth import *
from fas.user import knownUser, userNameExists
from fas.user import KnownUser
class UserID(validators.Schema):
targetname = KnownUser
class OpenID(controllers.Controller):
@ -28,8 +31,8 @@ class OpenID(controllers.Controller):
@expose(template="fas.templates.openid.about")
def about(self):
'''Display an explanatory message about the OpenID service'''
userName = turbogears.identity.current.user_name
return dict(userName=userName)
username = turbogears.identity.current.user_name
return dict(username=username)
@expose(template="genshi-text:fas.templates.openid.auth", format="text", content_type='text/plain; charset=utf-8')
def server(self, **query):
@ -58,10 +61,10 @@ class OpenID(controllers.Controller):
else:
openid_response = None
if openid_request.mode in BROWSER_REQUEST_MODES:
userName = turbogears.identity.current.user_name;
username = turbogears.identity.current.user_name;
url = None
if userName is not None:
url = config.get('base_url') + turbogears.url('/openid/id/%s' % userName)
if username is not None:
url = config.get('base_url') + turbogears.url('/openid/id/%s' % username)
if openid_request.identity == url:
if openid_request.trust_root in session['openid_trusted']:
openid_response = openid_request.answer(True)
@ -95,16 +98,15 @@ class OpenID(controllers.Controller):
@expose()
def login(self):
'''This exists only to make the user login and then redirect to /openid/server'''
userName = turbogears.identity.current.user_name;
turbogears.redirect('/openid/server')
return dict()
@expose(template="fas.templates.openid.id")
@validate(validators=userNameExists())
def id(self, userName):
@validate(validators=UserID())
def id(self, username):
'''The "real" OpenID URL'''
user = Person.byUserName(userName)
person = Person.by_username(username)
server = config.get('base_url') + turbogears.url('/openid/server')
return dict(user=user, server=server)
return dict(person=person, server=server)

View file

@ -8,13 +8,13 @@
<link rel="openid.server" href="${server}" />
</head>
<body>
<h2>${_('User %s') % user.cn}</h2>
<h2>${_('User %s') % person.username}</h2>
<div class="userbox">
<dl>
<dt>${_('Username:')}</dt>
<dd>${user.cn}</dd>
<dd>${person.username}</dd>
<dt>${_('Name:')}</dt>
<dd>${user.givenName}</dd>
<dd>${person.human_name}</dd>
</dl>
</div>
</body>

View file

@ -372,6 +372,9 @@ class User(controllers.Controller):
Please go to https://admin.fedoraproject.org/fas/ to change it.
''')) % newpass['pass']
if encrypted:
# TODO: Move this out to a single function (same as
# CLA one), think of how to make sure this doesn't get
# full of random keys (keep a clean Fedora keyring)
try:
subprocess.check_call([config.get('gpgexec'), '--keyserver', config.get('gpg_keyserver'), '--recv-keys', person.gpg_keyid])
except subprocess.CalledProcessError: