我正在编写一个移动iOS应用程序,它与后端的Pyramid应用程序进行通信。我目前正在使用Pyramid的内置AuthTktAuthenticationPolicy。
我在尝试通过移动客户端(iPhone)进行身份验证时遇到了一些速度障碍。对于初学者,我如何发送和检索由Pyramid设置的auth_tkt cookie。
我理解这是如何使用网络浏览器的,但是,如果我想发送这个" auth_tkt cookie"在HTTP响应中,我该如何实现?我如何实际获得auth_tkt秘密字符串。例如,如果我想在JSON正文或我选择的自定义标题中返回它而不是像Pyramid记住函数设置的cookie那么该怎么办?
其次,在将来客户端发送的请求中,我使用auth_tkt秘密字符串设置了哪个标头,以便Pyramid识别它并适当地验证客户端?
答案 0 :(得分:0)
使用金字塔助手类here,看起来您可以创建自己的auth_tkt并访问它。来自docs的示例:
token = AuthTicket('sharedsecret', 'username',
os.environ['REMOTE_ADDR'], tokens=['admin'])
val = token.cookie_value()
答案 1 :(得分:0)
标题是一个webob ResponseHeaders对象,它源自webob multidict。你可以使用它来获得它的价值:
set_cookie = request.response.headers['set-cookie']
您可以参考以下链接:webob multidict