2015-01-05 9 views
13

मैं एक OAuth2 सर्वर एक OAuth2 क्लाइंट कुप्पी के oauthlib का उपयोग कर लागू किया है।परीक्षण कुप्पी के oauthlib स्थानीय रूप से https बिना

जब मैं स्थानीय रूप से परीक्षण करने के लिए कोशिश कर रहा हूँ, ग्राहक एक InsecureTransportError लौट आते हैं और मुझसे कहता है कि मैं https का उपयोग कर किया जाना चाहिए।

क्या https के बिना स्थानीय रूप से ऐप का परीक्षण करने का कोई तरीका है?

ग्राहक 127.0.0.2:5000 पर चल रहा है और सर्वर 127.0.0.1:5000 पर चल रहा है।

धन्यवाद

उत्तर

31

http://requests-oauthlib.readthedocs.org/en/latest/examples/real_world_example.html से:

आप नोट करना चाहिए कि OAuth2 एसएसएल परत के माध्यम से काम करता है। अपने सर्वर है HTTPS अनुमति देने के लिए parametrized नहीं हैं, तो fetch_token विधि एक oauthlib.oauth2.rfc6749.errors.InsecureTransportError बढ़ा देंगे। अधिकांश लोग परीक्षण करते समय SSL को अपने सर्वर पर सेट नहीं करते हैं और यह ठीक है। आप दो तरह से इस चेक को निष्क्रिय कर सकते हैं:

  1. एक वातावरण चर की स्थापना करके।
export OAUTHLIB_INSECURE_TRANSPORT=1 
  1. आप अजगर में इस सेट कर सकते हैं इसके बाद के संस्करण के बराबर
# Somewhere in webapp_example.py, before the app.run for example 
import os 
os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1' 
+0

धन्यवाद। अच्छी तरह से काम। – user2483431

+3

बढ़िया, अगर आप जवाब स्वीकार करते हैं तो यह अच्छा होगा :-) –

+0

बस एक टिप्पणी, यह वही त्रुटि, साथ ही उसी समाधान भी हो सकता है जब nginx के साथ बंदूक पर चलने पर एसएसएल समाप्ति हो रही है। यह समाधान समस्या को हल करता है कि लाइब्रेरी किसी भी तरह गलत तरीके से http पर चीजें ... – mgmonteleone

5
(आप वातावरण चर की स्थापना समस्याएं हैं)

OAuth1 के लिए आप सेटिंग

जोड़ सकते हैं

OAuth2 के लिए आप पर्यावरण चर में सेटिंग कर सकते हैं।

export OAUTHLIB_INSECURE_TRANSPORT=1 

या क्रम में

import os 
os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1' 
संबंधित मुद्दे