add basic webfinger support, good enough for now

This commit is contained in:
William Pitcock 2018-08-10 15:15:02 -05:00
parent 2d16ed3cde
commit af263031e8
2 changed files with 26 additions and 0 deletions

View file

@ -20,3 +20,5 @@ app = aiohttp.web.Application()
from . import database
from . import actor
from . import webfinger

24
viera/webfinger.py Normal file
View file

@ -0,0 +1,24 @@
import aiohttp.web
from . import app
async def webfinger(request):
subject = request.query['resource']
if subject != 'acct:viera@{}'.format(request.host):
return aiohttp.web.json_response({'error': 'user not found'}, status=404)
actor_uri = "https://{}/actor".format(request.host)
data = {
"aliases": [actor_uri],
"links": [
{"href": actor_uri, "rel": "self", "type": "application/activity+json"},
{"href": actor_uri, "rel": "self", "type": "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\""}
],
"subject": subject
}
return aiohttp.web.json_response(data)
app.router.add_get('/.well-known/webfinger', webfinger)