示例#1
0
    def verify(self, session, discharge):
        session_macaroon = Macaroon.from_binary(session)
        discharge_macaroon = Macaroon.from_binary(discharge)

        self.logger.debug('Root Macaroon:\n' + session_macaroon.inspect())
        self.logger.debug('Discharge Macaroon:\n' +
                          discharge_macaroon.inspect())

        verifier = Verifier()
        verifier.satisfy_general(verify_time)
        verified = verifier.verify(session_macaroon,
                                   self.redis.get(session_macaroon.identifier),
                                   discharge_macaroons=[discharge_macaroon])
        return verified
 def _get_secret_for_discharge(self, discharge):
     discharge_macaroon = Macaroon.from_binary(discharge)
     return self.redis.get(discharge_macaroon.identifier).decode('ascii')