我正在使用twisted的Perspective Broker来处理网络应用程序。我遇到了它自动使用MD5质询 - 响应方案进行身份验证的问题。理想情况下,由于存在许多安全漏洞,我不希望在服务器端存储MD5哈希值。或者,scrypt,bcrypt或pbkdf2提供更安全的算法。
然而,虽然这些算法在python中很容易获得,但我不太清楚,是否可以使用Perspective Broker实现自定义身份验证方案。从源头来看,看起来MD5与系统紧密集成。
所以我的问题转向更有经验的扭曲用户:有没有办法使用自定义身份验证方案而不必重写整个事情?
(另外,请纠正我,如果我对扭曲或加密的任何假设都是错误的。我对两者都很新。)
答案 0 :(得分:2)
为了实现Perspective Broker的自定义身份验证方案,您需要做的就是在根对象上实现一组方法调用,在完成后,它们提供对所需应用程序级对象的访问。
您将无法重复使用PB的内置login
方法及其随附的有线协议消息,但这很好;无论如何,这是你想要替换的东西:)。
请注意when you construct a PBServerFactory
,您提供根对象。如果要在该对象上调用方法,而不是在返回的头像上执行“标准”PB登录和调用方法(即每用户/每个连接对象),在PB客户端工厂上使用call getRootObject
并使用结果callRemote
。