Pregunta Autenticación de usuario de chrome.identity en una extensión de Chrome


Intento escribir una extensión de Chrome que requiera autenticación de usuario.
Tutorial de Google sugiere que necesito subir a la tienda web primero para obtener una clave:

  1. Inicie sesión en la consola de API de Google utilizando la misma cuenta de Google utilizada para   cargue su aplicación a Chrome Web Store.

Cargué una versión que no funciona para obtener la clave, pero está pendiente desde hace más de una semana. ¿Cómo podría obtener esa clave o de alguna manera inspirar a Google para aprobar esta aplicación que no quiero en la Web Store? ¿Estoy haciendo todo mal?


24
2017-07-30 19:06


origen


Respuestas:


No es necesario que cargue una extensión en Chrome Web Store para usar el chrome.identity API. Basta con tener una ID de extensión válida. La manera más fácil de comenzar es copiar el ID de extensión de 32 caracteres de chrome://extensions/ a la sección de credenciales de su proyecto en el Consola API  ver la captura de pantalla a continuación.
Sin embargo, si alguna vez desea publicar la extensión o utilizarla en un perfil o computadora diferente, entonces es mejor que elija una ID de extensión que usted controla. Esto puede hacerse configurando "key" clave en el archivo de manifiesto. Ver Obtención de ID de extensión de Chrome para desarrollo para obtener una respuesta detallada al generar estas claves.

Por ejemplo, pruebe la siguiente extensión, usando una clave que acabo de generar. Imprimirá su información de usuario en un diálogo.

manifest.json

{
    "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0W0/YVPvLrj2cWBOXfPBBYwPp56R+OJb9QLudyMpigF+V4DFV0NEUnbo9iA6m+7cVPiD6YbhbIaiAoHSdtqEKwaYvrEJRGuGsLjDq+RMwG2x+FcGIsO4ny0BuZaZ/Q2+DaL33NBUl2h9dIi1xa0Suq6qpoJ4yykTu9y7Q6rB9ulJze6DiZL7LWU5NzHCEWt21zAhpLZOqvYY8wzY69pMf+P0+uOLuy87x84rvCRNegbSmEYLC5f4y6ikjVnFUxJBxMlpMg3bByxbrLVBFPuHj4khkr6adUXgks2vBBHFcrRh5EYXopI+PLwUJPfFtzyN8+L7swen9kcK8gXMwX28KwIDAQAB",
    "name": "Identity test",
    "version": "1",
    "manifest_version": 2,
    "background": {
        "scripts": ["background.js"]
    },  
    "permissions": [
        "identity"
    ],  
    "oauth2": {
        "client_id": "1014705257182-52dddl9dbiec2ln22stokphlaq0v7gor.apps.googleusercontent.com",
        "scopes": ["profile"]   
    }   
}

background.js

chrome.identity.getAuthToken({
    interactive: true
}, function(token) {
    if (chrome.runtime.lastError) {
        alert(chrome.runtime.lastError.message);
        return;
    }
    var x = new XMLHttpRequest();
    x.open('GET', 'https://www.googleapis.com/oauth2/v2/userinfo?alt=json&access_token=' + token);
    x.onload = function() {
        alert(x.response);
    };
    x.send();
});


36
2017-07-30 20:19



Un poco tarde, pero aquí está la fuente de mi confusión anterior

Es un poco contradictorio, pero inmediatamente después de comenzar una extensión / aplicación de Chrome, debe 'publicar' en la tienda web para obtener una clave y una ID constantes. Si estás usando el Editor de Chrome Dev, presiona el menú de hamburguesas de la esquina superior izquierda y haz clic en "Publicar en Chrome Web Store".

Una vez que termine, puede hacer clic en "Abrir el panel del desarrollador" y guardar su aplicación como borrador. Luego verá su lista completa de aplicaciones publicadas y haga clic en "más información" junto a su aplicación y copie la clave entre -----BEGIN PUBLIC KEY----- y -----END PUBLIC KEY-----. Pega eso en tu manifiesto como"key" y puede pasar a desarrollar sin conexión.


11
2018-05-26 21:20



Preguntas populares