1
0
Fork 0

Add federated users

This commit is contained in:
Mouse Reeve 2020-01-29 12:07:20 -08:00
parent a9d938fbb2
commit f031b46b20
4 changed files with 28 additions and 22 deletions

View file

@ -15,16 +15,28 @@ from fedireads.settings import DOMAIN
def get_or_create_remote_user(actor):
''' look up a remote user or add them '''
try:
user = models.User.objects.get(actor=actor)
return models.User.objects.get(actor=actor)
except models.User.DoesNotExist:
# TODO: how do you actually correctly learn this?
username = '%s@%s' % (actor.split('/')[-1], actor.split('/')[2])
user = models.User.objects.create_user(
username,
'', '',
actor=actor,
local=False
)
pass
# get the user's info
response = requests.get(
actor,
headers={'Accept': 'application/activity+json'}
)
data = response.json()
username = '%s@%s' % (actor.split('/')[-1], actor.split('/')[2])
user = models.User.objects.create_user(
username, '', '',
name=data.get('name'),
summary=data.get('summary'),
inbox=data['inbox'],
outbox=data['outbox'],
shared_inbox=data.get('endpoints').get('sharedInbox'),
actor=actor,
local=False
)
return user