def index(self, resource='', rel=''):
logger.debug('webfinger request: res={}, rel={}'.format(resource, rel))
if rel != 'http://openid.net/specs/connect/1.0/issuer':
logger.error('unknown rel')
raise cherrypy.HTTPError(400, "Unknown 'rel")
cnf = cherrypy.request.config
subj = resource
_base = cnf['base_url']
if resource.startswith('http'):
assert resource.startswith(_base)
elif resource.startswith('acct:'):
loc, dom = resource[5:].split('@', 1)
r = urlparse(_base)
try:
assert dom == r.netloc
except AssertionError:
raise cherrypy.HTTPError(400, 'Not my domain')
else:
raise cherrypy.HTTPError(400, "URI type I don't support")
return as_bytes(self.srv.response(subj, _base))
评论列表
文章目录