Werkzeug를 사용하여 WSGI 미들웨어 애플리케이션 (Python 2.7)을 개발 중입니다. 이 응용 프로그램은 SAML SSO 환경에서 작동하며 액세스 할 SAML 토큰이 필요합니다.요청에 대한 WSGI 쿠키 전달
미들웨어는 또한 로그인 한 사용자를 대신하여 동일한 SAML 환경에서 다른 응용 프로그램에 대한 요청을 수행합니다. 사용자 피드백없이이 작업을 수행하려면 요청 라이브러리를 사용하여 수행중인 요청에 WSGI 환경에서 가져올 수있는 SAML 세션 쿠키를 전달해야합니다.
내 문제는 요청이 cookielib.CookieJar 인스턴스를 허용하는 반면 WSGI/Werkzeug에서 가져온 쿠키는 http.cookies.SimpleCooke로만 구문 분석 할 수 있다는 점입니다.
쿠키 헤더의 원시 내용을 구문 분석하는 것과 같은 부끄러운 해킹에 의지하지 않고도이 세션 쿠키를 완전히 전달하는 방법을 찾지 못했습니다.
제안 사항?
감사합니다,
GM
하지만 WSGI에서 얻은 쿠키 값은 콜론과 등호로 구분 된 키 - 값 쌍의 문자열이지만 CookieJar 클래스에서 쿠키를 설정하도록 요청하는 모든 메서드는 dicts 및 CookieJars 만 수락합니다. 나는 string에서 dict을 얻기 위해'split()'을 사용할 수는 있지만, 너무 복잡하고 불안정한 것처럼 보입니다. 그리고 이것을하는 더 우아한 방법이 있는지 궁금합니다. – user3758232
OK, 나는 이것이 가장 깨끗한 방법이었다 같아요 '''요청 = 요청 (싸다) req_cookies = SimpleCookie (request.cookies) req_cookiedict = { morsel.key : req_cookies.values에서 음식물에 대한 morsel.value() }''' 그러면 요청의 '쿠키'매개 변수에 사전을 추가 할 수 있습니다. – user3758232