auth_pubtkt là một môđun xác thực mod_auth_pubtkt cho Python thế giới.
tạo Ticket
Nhập khẩu các module nessesary:
& Nbsp; >>> từ M2Crypto nhập RSA
& Nbsp; >>> nhập khẩu auth_pubtkt
& Nbsp; >>> auth_pubtkt.tests nhập khẩu
& Nbsp; >>> nhập khẩu os.path
& Nbsp; >>> thời gian nhập khẩu, datetime
Đang tải RSA private key từ kiểm tra gói:
& Nbsp; >>> privkey_path = os.path.join (os.path.dirname (auth_pubtkt.tests .__ file__), 'rsa_priv.pem')
& Nbsp; >>> privkey = RSA.load_key (privkey_path)
Thiết lập thời gian hết hạn để 2011/01/01 00:00
& Nbsp; >>> validuntil = int (time.mktime (datetime.datetime (2011, 1, 1) .timetuple ()))
Tạo vé cho người dùng 'john':
& Nbsp; >>> vé = auth_pubtkt.create_ticket (privkey, 'john', validuntil, tokens = ['su'])
& Nbsp; >>> vé
'uid=john;validuntil=1293814800;tokens=su;sig=YuM/RL8ub+XMb0ZTTlFYF6ehwRV8SnKx+TLj/syZmVx1ncR4QD58OMdRkmdmDCY9sdsoivcf+ACRCRX19nmEc5Ba+182FyRKC8bGL51GwPs+lMgaIaXxvhSvRbl/00sTWny+XEv1fEQDSc5tw3/ug6/YA9xt2wywUX1+hxfWQ5U='
Middleware
& Nbsp; >>> nhập khẩu urllib
& Nbsp; >>> pubkey_path = os.path.join (os.path.dirname (auth_pubtkt.tests .__ file__), 'rsa_pub.pem')
& Nbsp; >>> pubkey = RSA.load_pub_key (pubkey_path)
& Nbsp; >>> def test_app (environ, start_response):
& Nbsp; ... cho trọng trong sắp xếp (environ.keys ()):
& Nbsp; ... print '% s:% s "% (key, environ [key])
& Nbsp; >>> app = auth_pubtkt.AuthPubTKTMiddleware (test_app, pubkey)
& Nbsp; >>> env = {}
& Nbsp; >>> env ['REMOTE_ADDR'] = '192.168.1.10'
& Nbsp; >>> env ['REQUEST_METHOD'] = 'GET'
& Nbsp; >>> env ['HTTP_COOKIE'] 'auth_pubtkt = "% s"' =% urllib.quote (vé)
& Nbsp; >>> ứng dụng (env, tình trạng lambda, bắt đầu: None)
& Nbsp; AUTH_TYPE: Cookie
& Nbsp; HTTP_COOKIE: auth_pubtkt="uid=john;validuntil=1293814800;tokens=su;sig=YuM/RL8ub+XMb0ZTTlFYF6ehwRV8SnKx+TLj/syZmVx1ncR4QD58OMdRkmdmDCY9sdsoivcf+ACRCRX19nmEc5Ba+182FyRKC8bGL51GwPs+lMgaIaXxvhSvRbl/00sTWny+XEv1fEQDSc5tw3/ug6/YA9xt2wywUX1+hxfWQ5U="
& Nbsp; REMOTE_ADDR: 192.168.1.10
& Nbsp; REMOTE_USER: john
& Nbsp; REMOTE_USER_DATA:
& Nbsp; REMOTE_USER_TOKENS: su
& Nbsp; REMOTE_USER_TOKENS_LIST: ['su']
& Nbsp; REQUEST_METHOD: GET
& Nbsp; auth_pubtkt.ticket_fields: {'thẻ': ['su'], 'validuntil': 1293814800, 'uid': 'john'}
Yêu cầu :
- Python
Bình luận không