コード例 #1
0
ファイル: auth.py プロジェクト: 1979139113/poc_exp
    def authenticateKey(self, app, credentials):
        assert isinstance(app, Factory)
        assert ISSHPrivateKey.providedBy(credentials)

        key = Key.fromString(credentials.blob)
        fingerprint = key.fingerprint().replace(':', '')

        service = None
        data = {}

        if credentials.username == "git":
            service = Service(
                self.protocol(app.getConfig(), 'drupalorg-sshkey-check'))

            data = {"fingerprint": fingerprint}

            service.request_bool(data)
        else:
            service = Service(
                self.protocol(app.getConfig(), 'drupalorg-ssh-user-key'))

            data = {
                "username": credentials.username,
                "fingerprint": fingerprint
            }

            service.request_bool(data)

        service.addCallback(self._handleProtocolCallback, app, data)

        return service.deferred
コード例 #2
0
ファイル: default.py プロジェクト: cvangysel/gitexd
  def authenticateKey(self, app, credentials):
    assert ISSHPrivateKey.providedBy(credentials)

    if credentials.username == "key":
      return defer.succeed(UserStub())
    else:
      return None
コード例 #3
0
ファイル: auth.py プロジェクト: pacodiasse/gitexd-drupalorg
    def authenticateKey(self, app, credentials):
        assert isinstance(app, Factory)
        assert ISSHPrivateKey.providedBy(credentials)

        key = Key.fromString(credentials.blob)
        fingerprint = key.fingerprint().replace(":", "")

        service = None
        data = {}

        if credentials.username == "git":
            service = Service(self.protocol(app.getConfig(), "drupalorg-sshkey-check"))

            data = {"fingerprint": fingerprint}

            service.request_bool(data)
        else:
            service = Service(self.protocol(app.getConfig(), "drupalorg-ssh-user-key"))

            data = {"username": credentials.username, "fingerprint": fingerprint}

            service.request_bool(data)

        service.addCallback(self._handleProtocolCallback, app, data)

        return service.deferred
コード例 #4
0
ファイル: checker.py プロジェクト: exarkun/Pantheon-SSH
 def requestAvatarId(self, credentials):
     """
     Check the given credentials and return a suitable user identifier if
     they are valid.
     """
     if IUsernamePassword.providedBy(credentials):
         return self._checkPassword(credentials)
     if ISSHPrivateKey.providedBy(credentials):
         return self._checkKey(credentials)
     raise NotImplementedError()
コード例 #5
0
ファイル: authentication.py プロジェクト: cvangysel/gitexd
  def requestAvatarId(self, credentials):
    self._invariant()
    assert ISSHPrivateKey.providedBy(credentials)

    d = defer.maybeDeferred(self.app.getAuth().authenticateKey, self.app, credentials)
    d.addCallback(self.authCallback, credentials)

    d.addErrback(authenticationErrorHandler)

    assert isinstance(d, defer.Deferred)

    return d
コード例 #6
0
ファイル: auth.py プロジェクト: cvangysel/gitexd
  def authenticateKey(self, app, credentials):
    assert ISSHPrivateKey.providedBy(credentials)

    return defer.succeed(True)
コード例 #7
0
ファイル: default.py プロジェクト: cvangysel/gitexd
  def authenticateKey(self, app, credentials):
    assert ISSHPrivateKey.providedBy(credentials)

    return False