延迟获取kerberos令牌:python gssapi securitycontext

时间:2018-04-30 12:53:31

标签: python-3.x kerberos gssapi

您好我使用python函数如下获取kerberos令牌

def get_token(server):

    service = gssapi.Name("HTTP@%s" % server, gssapi.NameType.hostbased_service)

    ctx = gssapi.SecurityContext(name=service, usage="initiate")
    attempts = 0

    while True:
        try:
            print("before")

            token = ctx.step()

            print("after")  
            break
        except Exception as e:
            attempts += 1
            print(attempts)
            if attempts < MAX_TOKEN_ATTEMPTS:
                logger.debug("exception while getting Kerberos token, trying again", exc_info=e)
            else:
                raise OSError("too many failures while getting Kerberos token, discarding request") from e

    b64token = base64.b64encode(token)
    return b64token

该功能给出了预期的结果。但问题是,在我的一台机器中,步骤&#34; token = ctx.step()&#34;完成时间超过5秒。在我的其他机器中,它的使用时间不到2秒。

有任何想法重新考虑延迟的原因吗?

- 我尝试使用IP地址以及FQDN作为主要功能的参数。一切都一样。 从我的所有机器到服务器需要相同的时间。

我的环境:

Python 3.5.2

Ubuntu 16.04

0 个答案:

没有答案