Subido por qservice2009

Scope modulo administracion

Anuncio
Scope
OAuth 2.0



Es un protocolo de autorización que permite controlar el acceso por parte
de las aplicaciones a los datos de los usuarios sin tener que proporcionar las
credenciales.
Como ventajas del uso de este framework se pueden citar:
Es un protocolo muy flexible que se basa en SSL (Secure Sockets Layer) que
cifra las conexiones y permite manejar el access token de forma segura.
El acceso es limitado, tanto en tiempo porque los tokens caducan, como en
funcionalidad gracias a los scopes.
Permite compartir datos sin tener que revelar información personal.
OpenId Connect


OpenID Connect es una extensión de OAuth por lo que tiene todas las
ventajas citadas anteriormente.
Las ventajas principales de su uso son:
Permitir a las aplicaciones autenticar usuarios sin tener que almacenar y
administrar contraseñas.
Permitir administrar su propia instancia OAuth que permita el acceso a los
recursos
¿Qué no hay que utilizar para securizar nuestras APIs?





OAuth 1.0: la versión 2.0 introdujo como mejoras la inclusión de múltiples
dispositivos (browsers, nativos, servidores, etc) y sobre todo se sustituyó la firma
de las peticiones por TLS.
Certificados SSL: solo gestionan la autenticación y son complejos de usar por
los clientes.
Autenticación básica: solo autentica, no gestiona la autorización y las
credenciales incluida la contraseña son fácilmente obtenibles.
SAML: no es posible delegar la autorización a un tercero, no hay registro
dinámico ni dispone de estructura estándar de identificación.
Métodos customizados: no es necesario reinventar la rueda, AOauth es un
estándar suficientemente testado y confiable como para usarse, además los
desarrolladores ya están habituados a su uso.
¿Cuáles son los flujos de OAuth y cuándo los uso?
Conceptos: scopes, tokens y actores
El primer paso para comprender los flujos de OAuth y los escenarios de
aplicación de cada uno de ellos es comprender algunos conceptos previos como
son: los actores que intervienen en los flujos, qué son los tokens y los scopes de
acceso.
Los actores que intervienen en todos los flujos OAuth son:




Los scopes son una lista de identificadores separados por espacios que se
utilizan en el proceso de autorización y consentimiento de las APIs en los tokens
OAuth, que permiten determinar a qué se solicita acceso por parte de la
aplicación y a qué se autoriza acceder por parte del usuario. Por ejemplo: a las
fotos, mensajes de usuarios. etc,
Los tokens e identificadores que se manejan dentro de OAuth son:
El client id es un identificador único que representa la aplicación en el servidor
de autenticación.
El client secret es una clave secreta que pertenece a la aplicación que es
utilizada por el servidor de autorización para comprobar si dicha aplicación está
autorizada.
Los access token: son claves proporcionadas por el servidor de autorización a
la aplicación que permite el acceso a las APIs durante un tiempo limitado tras el
cual el token deja de ser válido.
Los refresh token: es una clave también proporcionada por el servidor de
autorización a la aplicación que permite solicitar nuevos access token después de
que estos hayan caducado.
Flujos o grant types



Los flujos de OAuth también denominados grant types hacen referencia al modo
en que una aplicación obtiene un access token que le permite acceder a los datos
expuestos a través de una API.
La existencia de estos flujos por parte del estándar surge para dar respuesta a
todos los escenarios de negocio que se pueden presentar en el consumo de las
APIs atendiendo a tres variables:
El tipo de aplicación consumidora.
Su grado de confianza.
Cómo es la interactuación por parte del usuario en el proceso.
Client credentials grant type
Este flujo representa el caso en el que la aplicación pertenece al usuario, por lo
que no hay necesidad de que éste se autentique ni ayude de forma alguna al
servidor de autenticación a decidir si el acceso para esa aplicación está
garantizado, es decir, el access token que envía el servidor se obtiene
autenticando sólo a la aplicación, no al usuario.
La principal diferencia con el resto del flujos es que el usuario no interactúa en el
proceso, por lo que la aplicación no puede actuar en nombre del usuario, solo en
nombre propio.
Descargar