def LookupPublicKey(self, signer_uri=None): self.signer_uri = signer_uri user_remote = self.handler.models.users_remote.get( local_username=self.local_user.username, profile_url=signer_uri)[0] if not user_remote: # get host-meta first lrdd_link = users.get_lrdd_link(signer_uri) if not lrdd_link: raise tornado.web.HTTPError(400) # get webfinger webfinger_doc = users.get_webfinger(lrdd_link, signer_uri) magic_key = webfinger_doc.find( 'link', rel='magic-public-key')['href'].replace( 'data:application/magic-public-key,', '') if not magic_key: raise tornado.web.HTTPError(400) new_user = self.handler.models.users_remote() new_user.local_username = self.local_user.username new_user.profile_url = signer_uri new_user.magic_key = magic_key new_user.save() return (str(magic_key)) else: return (str(user_remote.magic_key))
def LookupPublicKey(self, signer_uri=None): self.signer_uri = signer_uri user_remote = self.handler.models.users_remote.get( local_username=self.local_user.username, profile_url=signer_uri)[0] if not user_remote: # get host-meta first lrdd_link = users.get_lrdd_link(signer_uri) if not lrdd_link: raise tornado.web.HTTPError(400) # get webfinger webfinger_doc = users.get_webfinger(lrdd_link, signer_uri) magic_key = webfinger_doc.find('link', rel='magic-public-key')['href'].replace( 'data:application/magic-public-key,', '') if not magic_key: raise tornado.web.HTTPError(400) new_user = self.handler.models.users_remote() new_user.local_username = self.local_user.username new_user.profile_url = signer_uri new_user.magic_key = magic_key new_user.save() return (str(magic_key)) else: return (str(user_remote.magic_key))
def get_webfinger_data(self, user): try: lrdd = users.get_lrdd_link('http://' + user['email'].split('@')[1]) except: return webfinger_doc = users.get_webfinger(lrdd, user['email']) if webfinger_doc: ostatus_subscribe = webfinger_doc.find( 'link', rel='http://ostatus.org/schema/1.0/subscribe') if ostatus_subscribe: user['ostatus_subscribe'] = ostatus_subscribe['template']
def get_webfinger_data(self, user): try: lrdd = users.get_lrdd_link('http://' + user['email'].split('@')[1]) except: return webfinger_doc = users.get_webfinger(lrdd, user['email']) if webfinger_doc: ostatus_subscribe = webfinger_doc.find('link', rel='http://ostatus.org/schema/1.0/subscribe') if ostatus_subscribe: user['ostatus_subscribe'] = ostatus_subscribe['template']