2015-06-30 11 views
13

Kullanıcılara Chrome Uzantımda Google Kimlik Doğrulama sağlamak için Chrome Kimlik API'sı ile çalışıyorum. chrome.identity.getAuthToken çalışmıyor

Google'da resmi öğretici izledi: link Chrome Identity API

  • i bu kodu eklenmiş Authentification tetiklemek için manifest.json ve Müşteri kimliği ve Kapsamları
  • izinleri eklendi benim Background.js
i i i giriş sayfasına

sorun nedir için başka bir zaman yönlendirildi am başarılı bir kimlik doğrulama bu giriş sayfasına

chrome://chrome-signin/?source=5

ama sonra yönlendirildi am uzantısı yürütüldüğünde

sorun nedir?

manifest.json

{ 
    "name": "My Extension", 
    "short_name": "Ex App", 
    "version": "0.1", 
    "description": "description", 
    "manifest_version": 2, 
    "icons": { "128": "ICONE.png", "48": "ICONE1.png" }, 
    "permissions": ["contextMenus", "identity", "cookies", "http://*/*", "https://*/*", "<all_urls>", "unlimitedStorage"], 
    "browser_action": { 
    "default_title": "Title", 
    "default_icon": "imgIcone.png" 
    }, 
    "oauth2": { 
     "client_id": "xxxxxxx", 
     "scopes": [ 
      "https://www.googleapis.com/auth/userinfo.email" 
    ] 
}, 

    "background": { 
    "scripts": ["background.js"] 
    }, 

    "content_scripts" : [ 
{ 
    "matches": ["*://*.google.com/*"], 
    "js": ["gadget/js/jquery.js","gadget/js/contactcard.js"], 
    "css": ["gadget/css/contactcard.css"], 
    "all_frames": true 
    }], 

    "content_security_policy": "script-src 'self' 'unsafe-eval' https://apis.google.com/; object-src 'self'", 
    "web_accessible_resources": ["img.png","gadget/css/contactcard.css","gadget/img/extension/crec.png"] 
} 

background.js:

chrome.identity.getAuthToken({ 'interactive': true }, function(token) { 
     // Use the token. 
     console.log(token); 
      }); 
+0

olası yinelenen [Hata: Chrome uzantısı için menşe \ _mismatch] (http://stackoverflow.com/questions/31134738/error-origin-mismatch-for-chrome-extension) – Madhan

+0

Yok sorunuzun başlığını değiştirmeniz gerekiyor; Herkes bir cevabın olduğunu görebilir ve cevapları kabul edilebilir olarak işaretleyebilir (bunu yapabilmeniz için bir gecikme olabilir) ve bunun da yanıtlamaya gerek olmadığını belirtebilirsiniz. – Xan

+0

@Xan Bilgileriniz için teşekkürler! – user2602584

cevap

13

Sorun Çözülmüş! arasında

uygulama kimliği benim Chrome extension öncelikle bu yüklemeyi önlemek için Uzatma ve Chrome'dan kimliğini kopyalayıp Google Konsolu Developpers bunu ayarlamak için Google Console Developpers benim uygulama kimliği ile uymuyor! Kabul cevap yanlış Google Chrome

enter image description here

4

değişmesine neden Google konsol her seferinde yeniden güncellemek gerekir. Bunu web mağazasına yükleyebilir, yayınlayabilir ve daha sonra web mağazasından yükleyebilirsiniz. Yükledikten sonra, yüklü uzantı uygulamasını dir (~/Library/Application\ Support/Google/Chrome/Default/Extensions/<ext id> bir mac üzerinde) bulun ve manifest.json'dan key anahtarını manifest.json kaynak kodunuza kopyalayın. key alanını manifest.json ürününe ekledikten sonra, uygulama kimliğiniz yerel geliştirme sırasında değişmez.

Kaynak: https://developer.chrome.com/apps/app_identity#copy_key

ait
+1

Bu kabul edilen yanıtın hiçbirini geçersiz kılmaz.Evet, değişmesini engelleyebilirsiniz (ve yöntemlerden birini tarif ettiniz), ancak cevap _any_ yanlış ifadelerini içermiyor. – Xan

+0

Tamam, kabul edilen cevap * ideal * çözüm değildir. Sadece uygulamanızı web mağazasına ekleyin ve yayınlayın. Özel olarak yayınlayabilmeniz için yalnızca sizin için yayınlayabilir veya indirebilmek için e-posta adreslerini seçebilirsiniz. – austinheiman

+1

i web-student-ksu ile katılıyorum! abt gelişimini konuştuğumuzdan, google + girişini entegre etmek istediğimi söyleyin, o zaman bunu geliştirme ortamına kontrol etmeliyim. Kimlik çalışması yapmak için anahtarlara ihtiyacım var. Xan cevabın kabul edilmesinin hiçbir anlamı yok. –