2010-07-12 12 views
42

के साथ ऐप इंजन में सुरक्षित रिमोट_एपीआई मैंने पहले एप इंजन के रिमोट_एपीआई को ओपनआईडी के साथ उपयोग करने के बारे में question से पूछा था, और उत्तर सुरक्षित और असुरक्षित दोनों तरह से अच्छा काम करता था। कुछ समय के बाद जल्द ही, हालांकि, अनुप्रयोग इंजन में कुछ बदल गया है, और समाधान नहीं रह गया है सुरक्षित रूप से काम किया - अर्थात् निम्नलिखितओपनआईडी

remote_api_stub.ConfigureRemoteDatastore(app_id=app_id, path='/remote_api', auth_func=auth_func, servername=host, secure=True) 

काम कर (हमेशा 302 लौटने) बंद कर दिया है, और मैं सुरक्षित तर्क को दूर करने के लिए की जरूरत यह काम करने के लिए।

release of the 1.3.5 SDK वादा किया 'रिमोट एपीआई आदेशों से अधिक HTTPS या HTTP भेजा जा सकता है', जो मुझे उलझन में, जैसा कि मैंने धारणा है कि उपलब्ध कराने के 'सुरक्षित = सच' तर्क था मुझे यह पहले से ही दे रहा, पर this discussion आधारित तहत किया गया।

मेरा संदेह यह है कि यह इस सुविधा की रिलीज थी जिसने 'सुरक्षित' तर्क को काम करना बंद कर दिया। तो मेरे प्रश्न का पहला भाग - क्या मैं वास्तव में 1.3.5 के रिलीज से पहले 'सुरक्षित = सही' तर्क का उपयोग करके दूरस्थ रूप से remote_api आदेश चला रहा था?

एक बार कुकी हैक सुरक्षित रूप से काम करना बंद कर दिया, मैंने निक जॉनसन के समाधान को एक ही प्रश्न में सूचीबद्ध करने की कोशिश की, लेकिन इसके साथ ही, मैं 'सुरक्षित = सही' की आपूर्ति नहीं कर सका, उसी 302 प्रतिक्रिया प्राप्त कर रहा था।

openID के साथ safe_api को सुरक्षित रूप से चलाने के लिए मुझे क्या करने की आवश्यकता है? क्या 1.3.5 में इसके आसपास नई क्षमताओं को शामिल किया गया है, और मैं उनका उपयोग कैसे करूं? चीयर्स,

कॉलिन

+0

क्या आप मेरे हैक या निक के कम हैकी हैक का उपयोग कर रहे हैं? [http://blog.notdot.net/2010/06/Using-remote-api-with-OpenID- प्रमाणीकरण] –

+0

मैंने दोनों की कोशिश की है - मुझे वही व्यवहार मिलता है - 'सुरक्षित = सही' सेटिंग हमेशा एक परिणाम में होती है 302 - 'सुरक्षित = सही' को हटाकर सब ठीक काम करता है। मुझे remote_api एंट्री पॉइंट पर app.yaml में 'सुरक्षित: वैकल्पिक' मिला है। मैं मूल रूप से सुरक्षित/सही के साथ सफलतापूर्वक अपने हैक का उपयोग कर रहा था, फिर एक दिन (1.3.5 प्री-रिलीज घोषणा के आसपास) 302 वापस लौटना शुरू हो गया। इस बिंदु पर मैंने निक की कम हैकी हैक की कोशिश की, लेकिन यह भी केवल 'सुरक्षित = सही' के बिना काम किया। मुझे यकीन है कि यह कुकी के साथ कोई समस्या नहीं थी, क्योंकि 'सुरक्षित = सही' मौजूद नहीं होने पर एक ही कुकी ठीक काम करती है। – hawkett

+0

सुरक्षित ओपनिड अभी तक Google ऐप इंजन पर काम नहीं कर रहा है। http://code.google.com/p/googleappengine/issues/detail?id=3586 – iamgopal

उत्तर

1

सादर इस

http://code.google.com/intl/en-US/appengine/articles/openid.html

चेतावनी: इस लेखन के समय, OpenID कि आपके ऐप में HTTPS का उपयोग करके सुरक्षित मोड में चलाता है समर्थित नहीं है। 1.3.7 रिलीज

def ConfigureRemoteDatastore(app_id, 
          path, 
          auth_func, 
          servername=None, 
          rpc_server_factory=appengine_rpc.HttpRpcServer, 
          rtok=None, 
          secure=False): 
    """Does necessary setup to allow easy remote access to an AppEngine datastore. 

    Either servername must be provided or app_id must not be None. If app_id 
    is None and a servername is provided, this function will send a request 
    to the server to retrieve the app_id. 

    Args: 
    app_id: The app_id of your app, as declared in app.yaml. 
    path: The path to the remote_api handler for your app 
     (for example, '/remote_api'). 
    auth_func: A function that takes no arguments and returns a 
     (username, password) tuple. This will be called if your application 
     requires authentication to access the remote_api handler (it should!) 
     and you do not already have a valid auth cookie. 
    servername: The hostname your app is deployed on. Defaults to 
     <app_id>.appspot.com. 
    rpc_server_factory: A factory to construct the rpc server for the datastore. 
    rtok: The validation token to sent with app_id lookups. If None, a random 
     token is used. 
    secure: Use SSL when communicating with the server. 

तो में

सादर this पिछले संशोधन में, आप नए एसडीके के साथ प्रयास किया?

+0

@ यूजीन यह 21 अगस्त को टिप्पणियों में @iamgopal द्वारा प्रदान किए गए लिंक में निहित एक ही जानकारी है। तो Google ने इस क्षमता को 1.3.5 के साथ बहिष्कृत कर दिया? – hawkett

+0

मुझे ऐसा लगता है, शायद हमें इसे जांचने के लिए 1.3.6 रोडमैप का इंतजार करना चाहिए। – Eugene

+0

@ यूजीन 1.3.7 बाहर है।मुझे नहीं लगता कि यह उत्तर कुछ भी जोड़ता है जो प्रश्न/टिप्पणियों में पहले से मौजूद नहीं था। – hawkett

संबंधित मुद्दे