コード例 #1
0
        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))
コード例 #2
0
ファイル: salmon.py プロジェクト: Acidburn0zzz/helloworld
    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))
コード例 #3
0
    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']
コード例 #4
0
ファイル: auth.py プロジェクト: Acidburn0zzz/helloworld
  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']