什么是auth_tkt cookie格式?

时间:2009-12-04 03:17:58

标签: apache hmac

Apache模块auth_tkt创建可以加密验证的身份验证cookie,以便Web服务器可以在不咨询数据库的情况下生成REMOTE_USERauth_tkt cookies的规范是什么?

1 个答案:

答案 0 :(得分:2)

来自http://www.openfusion.com.au/labs/dist/mod_auth_tkt/mod_auth_tkt-2.1.0.tar.gz

内的自述文件
Cookie Format

The TKTAuthCookieName cookie is constructed using following algorithm:`

('+' is concatenation operation)

cookie := digest + hextimestamp + user_id + '!' + user_data

or if using tokens:

cookie := digest + hextimestamp + user_id + '!' + token_list + '!' + user_data

digest := MD5(digest0 + key)

digest0 := MD5(iptstamp + key + user_id + '\0' + token_list + '\0' + user_data)

iptstamp is a 8 bytes long byte array, bytes 0-3 are filled with
client's IP address as a binary number in network byte order, bytes
4-7 are filled with timestamp as a binary number in network byte
order. 

hextimestamp is 8 character long hexadecimal number expressing
timestamp used in iptstamp. 

token_list is an optional comma-separated list of access tokens 
for this user. This list is checked if TKTAuthToken is set for a
particular area.

user_data is optional