auth_pubtkt 파이썬 세계에 대한 mod_auth_pubtkt 인증을 구현하는 모듈이다.
티켓 작성
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)
00:00 2011년 1월 1일로 설정 만료 시간
& NBSP; >>> validuntil = INT (time.mktime (datetime.datetime (2011, 1, 1) .timetuple ()))
사용자 존 '에 대한 티켓을 생성 :
& NBSP; >>> 티켓 = auth_pubtkt.create_ticket (privkey, '존', validuntil, 토큰 = [ 'SU'])
& 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; >>> pubkey = RSA.load_pub_key (pubkey_path)
& NBSP; >>> 데프 test_app (싸다, start_response) :
& NBSP; ... 정렬 (environ.keys ())의 키 :
& NBSP; ... 인쇄 '% S : % S'% (키, 싸다 [키])
& NBSP; >>> 응용 프로그램 = 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 (티켓)
& NBSP; >>> 응용 프로그램 (ENV, 람다 상태, 시작 : 없음)
& 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 : 스와
& NBSP; REMOTE_USER_TOKENS_LIST : [ 'SU']
& NBSP; REQUEST_METHOD는 : GET
& NBSP; auth_pubtkt.ticket_fields : { '토큰'[ 'SU', 'validuntil': 1293814800, 'UID': '존'}
요구 사항 :
파이썬
댓글을 찾을 수 없습니다