auth_pubtkt це модуль, який реалізує аутентифікацію mod_auth_pubtkt для Python світу.
<Сильний> створення квитків
Імпорт nessesary модулі:
& NBSP; >>> від імпорту M2Crypto RSA
& NBSP; >>> імпорту auth_pubtkt
& NBSP; >>> імпортні auth_pubtkt.tests
& NBSP; >>> імпорту os.path
& NBSP; >>> час імпорту, дати і часу
Завантаження RSA секретний ключ від тестів пакету:
& NBSP; >>> privkey_path = os.path.join (os.path.dirname (auth_pubtkt.tests .__ FILE__), "rsa_priv.pem")
& NBSP; >>> privkey = RSA.load_key (privkey_path)
Встановити час закінчення в 2011/01/01 00:00
& NBSP; >>> validuntil = INT (time.mktime (datetime.datetime (2011, 1, 1) .timetuple ()))
Створення квиток на користувача «Джон»:
& NBSP; >>> квиток = auth_pubtkt.create_ticket (privkey, «Джон», validuntil, жетони = ['су'])
& NBSP; >>> квиток
'uid=john;validuntil=1293814800;tokens=su;sig=YuM/RL8ub+XMb0ZTTlFYF6ehwRV8SnKx+TLj/syZmVx1ncR4QD58OMdRkmdmDCY9sdsoivcf+ACRCRX19nmEc5Ba+182FyRKC8bGL51GwPs+lMgaIaXxvhSvRbl/00sTWny+XEv1fEQDSc5tw3/ug6/YA9xt2wywUX1+hxfWQ5U='
Проміжне
& NBSP; >>> імпорту URLLIB
& NBSP; >>> pubkey_path = os.path.join (os.path.dirname (auth_pubtkt.tests .__ FILE__), "rsa_pub.pem")
& NBSP; >>> Публічних = RSA.load_pub_key (pubkey_path)
& NBSP; >>> Def test_app (середа, start_response):
& NBSP; ... для ключа в відсортованих (environ.keys ()):
& NBSP; ... друк "% s:% s"% (ключ, середа [ключ])
& NBSP; >>> додаток = auth_pubtkt.AuthPubTKTMiddleware (test_app, Публічних)
& NBSP; >>> ENV = {}
& NBSP; >>> ENV ['REMOTE_ADDR'] = '192.168.1.10'
& NBSP; >>> ENV ['REQUEST_METHOD'] = 'GET'
& NBSP; >>> ENV ['HTTP_COOKIE'] = 'auth_pubtkt = "% S" =% urllib.quote (квиток)
& NBSP; >>> додаток (ENV, стан лямбда, не почати: None)
& NBSP; AUTH_TYPE: печиво
& 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: Джон
& NBSP; REMOTE_USER_DATA:
& NBSP; REMOTE_USER_TOKENS: SU
& NBSP; REMOTE_USER_TOKENS_LIST: ['су']
& NBSP; REQUEST_METHOD: GET
і NBSP; auth_pubtkt.ticket_fields: {'' жетони: ['су'], 'validuntil ": 1293814800,' UID ':' Джон '}
Вимоги
- Python
Коментар не знайдено