将 Flask XML-RPC 与 HTTPAuth 一起使用?
Use Flask XML-RPC with HTTPAuth?
我正在使用 Flask XML-RPC extension and everything is working well. Now I want to protect the XML-RPC endpoint with a basic HTTP authentication using Flask HTTPAuth extension。
此扩展通常与路由一起使用,但 XML-RPC 端点未定义为路由:
handler = XMLRPCHandler('xmlrpc')
handler.connect(app, '/xml-rpc')
def hello_word():
return "Hello"
handler.register_function(hello_world)
如何将 HTTP 身份验证与 Flask-XML-RPC 一起使用,以便 /xml-rpc
的任何调用者都必须进行身份验证?
你必须subclass XMLRPCHandler()
class;通过 /xml-rpc
的每个调用都由 XMLRPCHandler.handle_request()
method 处理,您可以装饰它来处理身份验证:
class HTTPAuthXMLRPCHandler(XMLRPCHandler):
@auth.login_required
def handle_request(self):
return XMLRPCHandler.handle_request(self)
handler = HTTPAuthXMLRPCHandler('xmlrpc')
handler.connect(app, '/xml-rpc')
我正在使用 Flask XML-RPC extension and everything is working well. Now I want to protect the XML-RPC endpoint with a basic HTTP authentication using Flask HTTPAuth extension。
此扩展通常与路由一起使用,但 XML-RPC 端点未定义为路由:
handler = XMLRPCHandler('xmlrpc')
handler.connect(app, '/xml-rpc')
def hello_word():
return "Hello"
handler.register_function(hello_world)
如何将 HTTP 身份验证与 Flask-XML-RPC 一起使用,以便 /xml-rpc
的任何调用者都必须进行身份验证?
你必须subclass XMLRPCHandler()
class;通过 /xml-rpc
的每个调用都由 XMLRPCHandler.handle_request()
method 处理,您可以装饰它来处理身份验证:
class HTTPAuthXMLRPCHandler(XMLRPCHandler):
@auth.login_required
def handle_request(self):
return XMLRPCHandler.handle_request(self)
handler = HTTPAuthXMLRPCHandler('xmlrpc')
handler.connect(app, '/xml-rpc')