martes, 9 de julio de 2019

Linkedin OAuth 2.0 en ionic 3

Paso 1: Configure su aplicación:

En la página linkedin desarrolladores, crear una nueva aplicación, y tener en la mano el ID de cliente :, Secreto del cliente: y OAuth 2.0 configuración URL de redireccionamiento: es al lugar en donde se redirige nuestro sitio después de hacer las peticiones.

Paso 2: Solicitar un código de autorización:

Lo que es importante es que la URL de la petición sea de esta manera:
Yo lo hice por medio de inAppBrowser, me dirijo al inicio de sesión y permisos de linkedin.

Paso 3: Intercambio de código de autorización para un token de acceso:

Una vez que acceda y permita un registro, se genere un token de acceso con una duración promedio de 30 minutos, busque la manera en que pueda encontrar ese token de acceso porque se utiliza en los siguientes pasos.
Ejemplo de la extracción del token:
this.browser.on ('loadstart'). subscribe ((e) => {
console.log(e.url);
this.url_devuelta = e.url;

if(e.url.match(/^https:\/\/localhost\//)) {
  var miurl = e.url.replace(this.linkedin.redirect_uri+'/?code=', '');
  console.log("token "+(miurl));                            // aquí extraigo el token
  console.log(miurl.length + ' code units long');
  this.autorizaToken(miurl);
  //this.getLinkedInUserDetails(miurl);
 

} else {
  console.log("error "+(this.url_devuelta));
}
});

Paso 4: Hacer solicitudes autenticadas:

Ahora vamos a revalidar el token de la siguiente manera:

Paso 5 Extraer el perfil de usuario:

Con la revalidación del token, ahora debemos enviar una petición con Encabezados al api de linkedin, lo hice de la siguiente manera:
getLinkedInUserDetails () {
  console.log(this.token_valida);
 console.log("Vivo en la siguiente funcion  "+ this.token_valida);

   let headers = new HttpHeaders().set("Authorization",'Bearer '+ this.token_valida);
   
  

          console.log("Armando los headers "+ 'https://api.linkedin.com/v2/me' + {headers: headers});
          return this.http.get('https://api.linkedin.com/v2/me', {headers: headers}).toPromise()
         .then(res =>
          {
            console.log(res);

         }).catch(error => {
        
          console.log(error);

        
        });
      
      
 }
Esos son los pasos a seguir para la autenticación de linkedin.
Saludos

No hay comentarios.:

Publicar un comentario

Sustituir una expresión regular en typescript

En algún proyecto, necesitaremos reemplazar expresiones regulares. Primero veamos qué es una expresión regular. Expresión regular ( wik...