通过HMAC-SHA1验证Python3上的传入请求

通过HMAC-SHA1验证Python3上的传入请求,python,python-3.x,oauth,hmac,Python,Python 3.x,Oauth,Hmac,我需要使用HMAC-SHA1验证传入请求。我的主要问题是为它创建基字符串。是否有任何python库可以从请求和(如果可能的话)生成验证?据我所知,您不是在问OAuth 1.0请求,而是在问签名和验证函数,对吗 如果您想了解这一点,我不确定是否有任何库,但在的代码中,有一个模块用于签名和验证签名: 结帐: 签名:hmac\U sha1 验证\u hmac\u sha1 您可以从Authlib代码中学习。但是,如果您只想发送OAuth1.0请求,可以直接使用Authlib。文档在这里:非常感谢@le

我需要使用HMAC-SHA1验证传入请求。我的主要问题是为它创建基字符串。是否有任何python库可以从请求和(如果可能的话)生成验证?

据我所知,您不是在问OAuth 1.0请求,而是在问签名和验证函数,对吗

如果您想了解这一点,我不确定是否有任何库,但在的代码中,有一个模块用于签名和验证签名:

结帐:

  • 签名:hmac\U sha1
  • 验证\u hmac\u sha1

  • 您可以从Authlib代码中学习。但是,如果您只想发送OAuth1.0请求,可以直接使用Authlib。文档在这里:

    非常感谢@lepture!看来,这就是我要找的。您知道如何将服务器安装到Django上吗,因为我在尝试使用signature.py时遇到了一个错误<代码>'Request'对象没有属性'uri,再次感谢!该请求是由Authlib创建的,您可以在中找到它。请在您的答案中显示如何安装此库和调用此函数的示例。如果需要的话,我也可以创建新主题。我已经创建了新主题,如果你能帮我,我将不胜感激
    def sign_hmac_sha1(client, request):
        """Sign a HMAC-SHA1 signature."""
        base_string = generate_signature_base_string(request)
        return hmac_sha1_signature(
            base_string, client.client_secret, client.token_secret)
    
    def verify_hmac_sha1(request):
        """Verify a HMAC-SHA1 signature."""
        base_string = generate_signature_base_string(request)
        sig = hmac_sha1_signature(
            base_string, request.client_secret, request.token_secret)
        return hmac.compare_digest(sig, request.signature)