Мой проект пытался внедрить средство проверки учетных данных с использованием scrypt. Мы пытались реализовать свои собственные учетные данные и объекты проверки, но у нас было много проблем с тем, чтобы заставить pb их использовать.
Похоже, что Pb жестко закодирован для использования хэшей MD5 по сети, что абсолютно не будет работать в нашей реализации; у нас нет способа получить правильный пароль в открытом виде на стороне сервера, поскольку мы используем scrypt, поэтому нам нужен способ вместо этого передать пароль для проверки в виде открытого текста. Мы пытались использовать twisted.cred.credentials.UsernamePassword с нашим средством проверки учетных данных, но, похоже, оно не дошло до сервера. (вместо этого мы по-прежнему получаем _PortalAuthChallenger)
Билет на http://twistedmatrix.com/trac/ticket/4398, по-видимому, указывает на то, что Подкласс PBServerFactory необходим для поддержки пользовательских средств проверки учетных данных в pb, но до сих пор я совершенно не мог понять, что нужно переопределить, чтобы заставить его использовать другую реализацию ICredentials. Есть ли какие-либо примеры (или даже просто документация) того, как заставить pb использовать другой класс учетных данных?