本文整理汇总了Python中werkzeug.datastructures.WWWAuthenticate.stale方法的典型用法代码示例。如果您正苦于以下问题:Python WWWAuthenticate.stale方法的具体用法?Python WWWAuthenticate.stale怎么用?Python WWWAuthenticate.stale使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类werkzeug.datastructures.WWWAuthenticate
的用法示例。
在下文中一共展示了WWWAuthenticate.stale方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: digest_challenge_response
# 需要导入模块: from werkzeug.datastructures import WWWAuthenticate [as 别名]
# 或者: from werkzeug.datastructures.WWWAuthenticate import stale [as 别名]
def digest_challenge_response(app, qop, algorithm, stale = False):
response = app.make_response('')
response.status_code = 401
# RFC2616 Section4.2: HTTP headers are ASCII. That means
# request.remote_addr was originally ASCII, so I should be able to
# encode it back to ascii. Also, RFC2617 says about nonces: "The
# contents of the nonce are implementation dependent"
nonce = H(b''.join([
getattr(request, 'remote_addr', u'').encode('ascii'),
b':',
str(time.time()).encode('ascii'),
b':',
os.urandom(10)
]), algorithm)
opaque = H(os.urandom(10), algorithm)
auth = WWWAuthenticate("digest")
auth.set_digest('[email protected]', nonce, opaque=opaque,
qop=('auth', 'auth-int') if qop is None else (qop,), algorithm=algorithm)
auth.stale = stale
response.headers['WWW-Authenticate'] = auth.to_header()
return response