OAuth

2013-06-21 11 views
7

के साथ Google क्रोम एक्सटेंशन मैं अपने क्रोम एक्सटेंशन के साथ OAuth को एकीकृत करने की कोशिश कर रहा हूं। मैं Google द्वारा ट्यूटोरियल का अनुसरण कर रहा हूं: https://developer.chrome.com/extensions/tut_oauth.htmlOAuth

मैं पृष्ठभूमि.जेएस से ExOauth बनाता हूं (मेरे द्वारा परिभाषित किया गया है और यह background.html द्वारा लोड किया गया है)।

onAuthorized = function() { 
    // Start my application logic. 
}; 

Am मैं यहाँ कुछ कमी:

var oauth = ChromeExOAuth.initBackgroundPage({ 
    'request_url': 'https://www.google.com/accounts/OAuthGetRequestToken', 
    'authorize_url': 'https://www.google.com/accounts/OAuthAuthorizeToken', 
    'access_url': 'https://www.google.com/accounts/OAuthGetAccessToken', 
    'consumer_key': 'anonymous', 
    'consumer_secret': 'anonymous', 
    'scope': 'https://docs.google.com/feeds/', 
    'app_name': Test app' 
    }); 

oauth.authorize(onAuthorized); 

यहाँ OnAuthorized विधि है? जब मैं एक्सटेंशन लोड करता हूं, तो यह कई "रीडायरेक्टिंग ...." टैब खोलता है। Multiple Oauth tabs

+0

मैं कर रहा हूँ अभी भी इस समस्या है और यह नए टैब खोलने रखता है। आपने इसे कैसे ठीक किया? – avi

उत्तर

4

ट्यूटोरियल में एक फ़ाइल गायब प्रतीत होती है। आप chrome_ex_oauth.html खोलते हैं, तो आप देखेंगे कि यह 3 js फ़ाइलों को लोड करने की कोशिश करता है:

<script type="text/javascript" src="chrome_ex_oauthsimple.js"></script> 
<script type="text/javascript" src="chrome_ex_oauth.js"></script> 
<script type="text/javascript" src="onload.js"></script> 

onload.js फ़ाइल प्रदान नहीं की है। OAuth contacts example निम्नलिखित सामग्री के साथ, इस तरह के एक फ़ाइल प्रदान करता है:

window.onload = function() { 
    ChromeExOAuth.initCallbackPage(); 
} 

इस फाइल को जोड़ने के बाद, यह सिर्फ अच्छा काम करने लगता है।

+0

मैंने यह फ़ाइल किया और फिर भी यह सैकड़ों टैब खोलने पर चलता रहता है। मैं इसे कैसे हल करूं? – avi

+0

@avi मैंने क्रोम ओएथ एक्सटी के साथ सैकड़ों टैब खोलने के साथ इस मुद्दे में भाग लिया है। क्या आपने कभी पता लगाया कि समस्या क्या थी? –

0

मुझे पता है कि प्रश्न थोड़ा बड़ा है लेकिन मुझे एक ही समस्या थी।

मैंने गलती की है कि मैं दो ओथ एंडपॉइंट को प्रमाणित करना चाहता हूं और ChromeExOAuth.initBackgroundPage ({}) दोनों बार कॉल करना स्पष्ट रूप से यह गलत कारण है कि मैं अपने पृष्ठभूमि पृष्ठ को दो बार नहीं करना चाहता हूं।

शायद ..._ oauthsimple.js का उपयोग कर ठीक कर देंगे कि