No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Qué es una API KEY?

6/20
Recursos

Aportes 35

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Aquí un poco de la clase sobre la AP Key 💚
.

Juan a mejorado mucho dando clases, se nota que ha madurado, este curso de API’s me esta gustando mucho y la forma en la que el explica es bastante clara por no decir excelente!

Autenticación

Autorización

API KEY

Son una, no la única, de las formas en que el backend puede identificar quien está haciendo cada solicitud.

Debemos entender dos conceptos importantes, la Autenticación y la Autorización.

Autenticación

Consiste en identificar quien es cada quien. No sabe que permisos tiene fulano, No sabe que puede o no hacer fulano, Solamente sabe que él es fulano, que ella es pamela o que esa es una persona sin identificar.

Autorización

Es la que nos dice que permisos tiene cada quien, es decir, si fulano quiere ir a la nevera para comerse un pastel, es la que dice, espérate fulano, tienes permisos para abrir la nevera?, a listo ábrela, tienes permisos de comerte el pastel?, a bueno comételo.

Y además por poner un ejemplo más real, si fulano trata de ver las fotos privadas de pamela, la autorización va a decir, ok quien eres?, la autenticación ya te dijo que eras fulano, a listo perfecto, autenticación me pasas un token, listo ya sé que tu eres fulano, y luego empieza a revisar los permisos, como no los tiene se lo va a prohibir,

Obviamente estos trabajan en conjunto para prohibir o permitir a toda la información que tenemos en nuestra aplicación, y ahí es donde entran las API KEYs.

Estas API Keys son una de las formas en que el backend puede indentificar quien es cada quien.

El backend necesita saber quien esta haciendo cada solicitud, para proteger la información privada de las personas, pero también en muchos casos, para limitar la cantidad o las solicitudes que le hacemos a la aplicación.

Para que nosotros podamos enviarle esta API KEY en cada solicitud que hagamos al backend podemos utilizar varias formas:

  • Query parameter: ?apy_key=ABC123
  • Authorization Header: X-API-Key: ABC123

Alternativas

  • Authorization: Basic
  • Authorization: Barer Token
  • OAuth 2.0 (es de las mejores y más complicadas formas de autenticar en la modernidad)
  • Access Key + Secret Key

En este caso estamos haciendo una Application-based authentication es decir estamos autenticando nuestra aplicación, estamos autenticando a nuestro frontend para que pueda hacer solicitudes al backend, pero hay aplicaciones donde no solamente necesitamos una Application-based authentication, también hay apps que necesitamos usar esta con una User-based authentication.

Estas clases estan geniales!! Que gran trabajo esta haciendo Juan! Estas clases así me recargan de buena energía! Aprendo mucho y me motiva a seguir explorando más sobre el tema!

Este curso se ha puesto muy bueno, ojalá siga así hasta el final.

Ahora me está quedando muchísimo más claro cómo consumir APIs por medio de Javascript. Siento que todo está muy sencillo y Juan David lo explica con mucha claridad. Muy emocionado de tomar este curso.

const API_KEY = 'xxxxxx-yyyyyyyy-zzzzzzzzz';

const URL = [
    'https://api.thecatapi.com/v1/images/search',
    '?limit=5',
    '&order=Asc',
    `&api_key=${API_KEY}`,
].join('');

es como la API de Marvel, te da una llave publica y una privada
y con esas dos tenemos que crear un hash y concaternala a la url para tener autorización

Como me gusta este curso

han pasado 7 clases pero el tiempo se me ha ido muy rapido esta muy bueno el curso n.n

El tema de autenticación y autorización es super amplio e interesante. Si les interesa leer más sobre otros métodos y cómo funcionan, les recomiendo mucho este post que explica a detalle distintas maneras de autentificar y autorizar:
4 Most Used REST API Authentication Methods

En mi equipo usamos Autherization: Bearer Token en el header para autorizar las solicitudes.

Sólo vengo a decir que me está gustando mucho el curso u,u

Un curso muy bueno hasta ahora!

ME ENCANTAN ESTAS CLASES! Muy claras. Hacen “Mas facil” aprender

Para los que no quiere poner su correo real, les comparto este recurso, pueden crear un email temporal

https://yopmail.com/es/

todo esta tomando sentido en ellaberinto de mi cerebro!

No sé por qué, pero me dieron ganas de consumir la API de Marvel Comics y de paso implementé los api keys con los query parameters:

const API = "https://gateway.marvel.com:443/v1/public/characters/1011334/comics?ts=1&apikey=be8945bcac46de93659d1f8e44fc5cfe&hash=0266b29b25e0739836354477416bea98";

const main = document.querySelector('main')

async function fetchData(url){
    const response = await fetch(url);
    const data = response.json();
    return data;
}

async function getData(url){
    try{
        const response = await fetchData(url);
        const comics = response.data.results;
        const imgUrl = comics[0].images[0].path +".jpg";
        for(let i = 0; i < comics.length; i++){
            main.innerHTML += `
            <div class="tarjeta">
                <img src=${comics[i].images[0].path + ".jpg"} alt="pokemon">
                <h3>Nombre: <span>${comics[i].characters.items[i].name}</span></h3>
            </div>
            `
        }
    }catch{
        throw new Error("Error en la API");
    }

}
console.log(getData(API))

Cúanto tarda en recibir el correo?? xD

Según Google…

El código de error HTTP 418 Soy una tetera indica que el servidor se rehusa a preparar café porque es una tetera. Este error es una referencia al Hyper Text Coffee Pot Control Protocol, creado como parte de una broma del April Fools’ de 1998.

una APIKEY es una de las fromas que tiene el backend para saber QUIEN esta haciendo la solicitud.
Hay dos conceptos importantes:

  1. Autenticacion que responde la pregunta de quien eres?
    “fulanito”,“patricia” o simplemente: sin identificar.
  2. Autorizacion : que permisos tiene cada quien

Primero pregunta quien eres y luego revisa los permisos.
Para enviar la API KEY al backend podemos usar:
1)Query-Parameter: ?api_key=NOMBREDELAAPIKEY
2)Authorization Header: X-API-KEY:NOMBREDELAAPIKEY
Siendo la ultima mas comoda y segura

Hay otras alternativas para que el backend identifique la solicitud:
-Authorizaton: Basic
-Autorization: Bearer Token
-O Auth 2.0 (De las mejores y mas complicadas)
-Access Key + Secret Key (Firebase)

Y para cuando el backend necesita ademas de saber quien esta haciendo la solicitud, de quien es la aplicacion, se combina:
-Application-based- authentication y
-User-based authentication

he visto pocos cursos en platzi pero hasta ahora este es mi fav 💕

La karen desmayada JAJAJA, Juanda el mejor !!

Excelente explicación. Gracias prof Juan por explicar de manera práctica para que podamos entender mejor.

API key, authentication, and authorization are common concepts related to securing access to APIs (Application Programming Interfaces) and controlling the actions that users can perform. Here’s a brief explanation of each term:

API Key: An API key is a unique identifier or token provided by an API provider to a user or application. It is used to authenticate the identity of the requester when making API requests. API keys are typically passed as a parameter or included in the headers of API requests. They help track and control API usage, allowing the API provider to identify and monitor the actions of each user or application.

Authentication: Authentication is the process of verifying the identity of a user or application. It ensures that the requester is who they claim to be before granting access to protected resources. Common authentication methods include username/password authentication, token-based authentication (such as JSON Web Tokens or OAuth), and API key authentication. The choice of authentication method depends on the security requirements and the API provider’s implementation.

Authorization: Authorization is the process of determining what actions or resources a user or application is allowed to access after successful authentication. It involves verifying the permissions and privileges associated with the authenticated identity. For example, an API might have different levels of access, such as read-only or read-write, and authorization ensures that only authorized users can perform certain actions or access specific resources.

To secure an API, you would typically combine authentication and authorization mechanisms. Users or applications authenticate using their credentials or API keys, and upon successful authentication, the API server authorizes their access based on predefined rules and permissions.

It’s important to note that the implementation of authentication and authorization mechanisms can vary depending on the specific API framework or technology you’re working with. It’s recommended to consult the documentation or guidelines provided by the API provider to understand the recommended authentication and authorization methods for their API.

Para los que también iban a copiar el key del profe como yo, hay una aplicación para generar correos temporales y que no te llegue spam, allí te llegará la Key para que uses la API.

A mi me gusta porque muchas veces hay aplicaciones que te llenan de Spam y te suscriben a newsletters.

ERROR 522 😦

Yo soy el fulano :(
# **¿Qué es una API KEY?** Es una de las formas en las que el backend identifica quién hace la solicitud. > **Autenticación** = Identificar quién es cada quién > **Autorización** = Que permiso tiene cada quien Se pueden agregar de 2 formas: Query Parameter `?api_key=ABC123` Authorizaion Header `X-API-KEY:ABC123` **Otras formas de identificar quién es cada quién:** * Authorization: Basic * Authorization: Bearer Token * OAuth 2.0 * Access Key + Secret Key **¿Porque?** * Application-based authentication: Autenticar al frontend para hacer solicitudes. * User-based authentication: Si se muestra información diferente a cada usuario se hace uso de user-based authentication

Excelente Profesor!

Autenticación .- Identificar quien es quien. Quien eres
Autorización .- Sabe que permisos tiene cada quien. Que puedes hacer
.
API KEY.- Una de la formas en que el backend identifica quien (Autenticación) esta haciendo solicitudes a los Endpoints de la API. Gracias a eso protege información privada y tambien limita la cantidad de solicitudes que se le hace a la API o aplicación (segun sea el caso). Esta API Key puede mandarse como Query Parameters o con ‘Authorization Header’.

Que curso tan buen hasta el momento, dejo mis apuntes: