Esta es una de las partes que mas llena este curso, ver los ejemplos practicos de cada uno de los flujos y verlos aplicados en aplicaciones reales y grandes.
De verdad, emociona poder entender todas las terminologias y diagramas jaja
Introducci贸n a OAuth 2.0 y OIDC
驴Qu茅 aprenderas en este curso?
驴Qu茅 es la autenticaci贸n?
驴Qu茅 es la autorizaci贸n?
驴Por qu茅 son importantes OAuth y OIDC?
Preview: protecci贸n de un endpoint
OAuth 2.0 y OIDC en acci贸n
JSON Web Tokens
驴Qu茅 es un JSON Web Token?
Sesiones vs. Tokens
Firmando un JSON Web Token
Verificando un JSON Web Token
Quiz: JSON Web Tokens
Open Authorization 2.0
驴Qu茅 es OAuth 2.0?
Flujos en OAuth 2.0
驴C贸mo elegir el flujo adecuado?
Spotify: Authorization Code Flow
Twitter: Authorization Code Flow with PKCE
Twitch: Implicit Grant Flow
Discord: Client Credentials Grant
Auth0: Resource Owner Password Flow
Quiz: Open Authorization 2.0
Open ID Connect
驴Qu茅 es OpenID Connect?
Auth0: Implicit Flow with Form Post
Curity: Hybrid Flow
Quiz: Open ID Connect
OAuth y OIDC en producci贸n
驴Cu谩ndo no son convenientes los JWT?
驴Qu茅 debo tener en cuenta al usar OAuth 2.0?
Autenticaci贸n en minutos con NextAuth
Toma el Curso Pr谩ctico de Auth0
No tienes acceso a esta clase
隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera
La implementaci贸n del Authorization Code Flow con Spotify es fundamental para permitir que aplicaciones web accedan de manera segura a los recursos de un usuario. Este flujo de autorizaci贸n es ampliamente utilizado debido a su seguridad y versatilidad en diferentes servicios. Vamos a explorar los pasos necesarios para configurar y utilizar este flujo en Spotify.
El primer paso para implementar este flujo es crear y configurar una aplicaci贸n en el dashboard de desarrolladores de Spotify. Aqu铆 est谩n los pasos b谩sicos para lograrlo:
Client ID
y Client Secret
, esenciales para autenticar tu aplicaci贸n. No los compartas p煤blicamente.El proyecto se beneficia significativamente del uso de Next.js, un marco React que permite gestionar APIs del lado del servidor:
Client ID
, Client Secret
y la URL de redirecci贸n en tus variables de entorno.index.js
, agrega un bot贸n que redirija a la API de inicio de sesi贸n (api/login
).Para solicitar autorizaci贸n al servidor, deben configurarse ciertos par谩metros:
read_private
read_email
playlist_read_private
response_type
como code
client ID
redirect_uri
de la aplicaci贸nquery-string
para transformar estos par谩metros en un query string formateado correctamente.const queryString = require('query-string');
let query = {
response_type: 'code',
client_id: process.env.SPOTIFY_CLIENT_ID,
scope: scopes.join(' '),
redirect_uri: process.env.REDIRECT_URI
};
const authURL = `https://accounts.spotify.com/authorize?${queryString.stringify(query)}`;
Una vez que se obtiene el c贸digo de autorizaci贸n del servidor, el siguiente paso es obtener un token de acceso a trav茅s del backend, necesario para consumir la API de Spotify:
fetch
para enviar un POST request a la URL del token de Spotify.Content-Type
y Authorization
usando Basic Auth con Client ID
y Client Secret
.code
, redirect_uri
, y tipo de grant authorization_code
en el cuerpo de la solicitud.const response = await fetch('https://accounts.spotify.com/api/token', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': `Basic ${Buffer.from(`${process.env.SPOTIFY_CLIENT_ID}:${process.env.SPOTIFY_CLIENT_SECRET}`).toString('base64')}`
},
body: queryString.stringify({
code: codeFromRequest,
redirect_uri: process.env.REDIRECT_URI,
grant_type: 'authorization_code'
})
});
Finalmente, para interactuar con la API de Spotify, el token de acceso debe almacenarse de forma segura y transmitirse al cliente de manera efectiva, utilizando cookies HTTP-only para mayor seguridad:
access_token
dentro de una cookie HTTP-only.Explorar estos pasos y asegurarse de comprender cada parte del flujo de OAuth puede parecer desafiante al principio, pero con la pr谩ctica, se convierte en un proceso m谩s sencillo. 隆An铆mate a probar este flujo con otros servicios y seguir ampliando tus habilidades de integraci贸n OAuth!
Aportes 10
Preguntas 5
Esta es una de las partes que mas llena este curso, ver los ejemplos practicos de cada uno de los flujos y verlos aplicados en aplicaciones reales y grandes.
De verdad, emociona poder entender todas las terminologias y diagramas jaja
隆 Genial clase !
驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?