Seidor
mujer usando un portatil

08 de març de 2023

Què és OAuth? Què proporciona el seu protocol?

Un dels aspectes crítics de la seguretat informàtica és poder proporcionar una experiència d'accés sense interrupcions i d'inici de sessió únic (SSO) entre diversos dispositius. Gràcies al desenvolupament constant de noves eines, avui és possible accedir a milers de llocs web completament no relacionats utilitzant un inici de sessió físic únic. I en aquest camp, OAuth és un dels grans protagonistes.

Què és Open Authorization?

Quan parlem de OAuth (Open Authorization) ens referim a una solució de gestió d'identitat i accés (IAM). La seva finalitat és atorgar autoritzacions als usuaris. Es tracta d'un protocol per passar l'autorització d'un servei a un altre sense compartir les credencials d'usuari reals, com un nom d'usuari i contrasenya. Amb aquesta eina un usuari pot iniciar sessió en una plataforma i després estar autoritzat per realitzar accions i veure dades en una altra plataforma. És a dir, permet l'inici de sessió únic (SSO).

Tot i que és cert que OAuth és un dels mètodes més comuns utilitzats per passar l'autorització d'un servei d'inici de sessió únic a una altra aplicació al núvol, també pot servir per realitzar les mateixes funcions entre aplicacions.

D'on sorgeix?

Des de fa ja algun temps, el sector tecnològic ha tractat de resoldre el dilema de l'autorització de la manera més eficient. Així, el 2006, Blaine Cook, en aquell moment desenvolupador principal a Twitter, va intentar trobar una solució quan estava treballant en la implementació d'OpenID. Però els resultats no van ser satisfactoris, ja que OpenID no va proporcionar la delegació de l'accés a l'API. En aquell moment, Cook es va unir a altres implementadors per escriure una proposta per a un protocol obert. El resultat va ser el desenvolupament de l'estàndard OAuth. El resultat va ser publicat per Internet Engineering Task Force (IETF) el 2010 (Versió 1.0) i actualitzat el 2012 (Versió 2.0).

A poc a poc, OAuth va començar a guanyar popularitat, fins al punt que avui en dia, pot treballar amb plataformes tan importants com Amazon, Facebook, Instagram, LinkedIn, Microsoft, Netflix, Paypal, entre molts altres.

Com funciona Oauth? Què li aporta el seu token d'accés?

El primer pas és que l'usuari iniciï la sessió en un lloc web o servei (recordem que OAuth només funciona amb HTTPS). El procés d'autorització d'OAuth comença amb un usuari final (Propietari de recursos) que especifica que vol proporcionar una aplicació client (Client) amb accés a dades en una aplicació de tercers (Servidor de recursos). L'aplicació client redirigeix aquesta sol·licitud a un Servidor d'autorització proporcionat per l'aplicació de tercers, que autentica l'usuari final sol·licitant. El Servidor d'Autorizacions autoritza l'aplicació del client i el Propietari del recurs i redirigeix l'usuari a l'aplicació del client amb un codi d'accés d'un sol ús.

El codi d'accés d'un sol ús s'envia de tornada al Servidor d'autorització, que després el converteix en un testimoni d'accés que l'usuari final pot utilitzar per accedir al servidor. Al mateix temps, l'AS també pot retornar un testimoni d'actualització, la qual cosa permetrà a l'usuari final utilitzar el mateix OAuth per accedir més d'una vegada.

Essencialment, el token d'accés permet a un usuari cridar l'API. A canvi, l'API obté accés a la informació sobre el client i el propietari del recurs i quin camí van prendre, quin client estan utilitzant i qui és l'usuari final.

Relacionat amb OAuth, no podem deixar de mencionar OKTA, un sistema de gestió d'identitats, que ens facilita la seva implantació a les nostres apps i projectes web. I és que, tal com assenyalen des d'OKTA, van prendre la decisió d'implementar OAuth 2.0 per estendre l'autenticació, autorització i administració d'usuaris a les seves API, cobrint totes les seves pantalles en tots els seus dispositius.

Què és OAuth 2.0?

OAuth 2.0, una versió simplificada i millorada de l'OAuth original, és un protocol d'accés que permet que un usuari autoritzi una aplicació o servei a actuar en el seu nom sense compartir les seves credencials d'usuari.

Define 4 rols principals: el propietari del recurs, el servidor de recursos, el client i el servidor d'autorització. A través de la interacció entre aquests rols, OAuth 2.0 permet als usuaris controlar l'accés a diferents recursos de manera segura i autoritzada.


Què proporciona el protocol OAuth?

OAuth, com una solució CIAM (Customer Identity and Access Management), es pot utilitzar tant per autoritzar els usuaris com per permetre l'accés parcial d'una aplicació a una altra aplicació. Un cas d'ús que els usuaris solen trobar és permetre que una aplicació accedeixi a una plataforma de xarxes socials o a un altre compte en línia. Els comptes d'usuari de Google poden integrar-se amb moltes aplicacions diferents per al consumidor, com plataformes de blogs, llocs web de notícies i diversos jocs en línia. En aquests casos, el protocol OAuth s'utilitza darrere de l'escena per permetre que aquestes aplicacions externes accedeixin a les dades necessàries de Google.

Per a les empreses, el cas d'ús més comú per a OAuth és en conjunció amb els sistemes de gestió d'identitat i accés (IAM). Els usuaris poden estar autoritzats per a l'ús de l'aplicació a través d'OAuth. Per exemple, un empleat pot iniciar sessió en el sistema SSO de la seva empresa amb el seu nom d'usuari i contrasenya. Aquest sistema SSO els dóna accés a totes les aplicacions que necessiten per fer la seva feina, i el sistema SSO ho fa passant tokens d'autorització OAuth a aquestes aplicacions.

Un protocol com OAuth és necessari perquè ha d'haver-hi alguna forma d'enviar informació d'autorització entre aplicacions sense exposar les dades d'inici de sessió de l'usuari.

Cal tenir en compte que, encara que OAuth de vegades es confon com un mètode d'autenticació no es tracta d'un IDaaS i, en conseqüència, no s'ha d'utilitzar per autenticar usuaris, com per exemple sí que es pot fer amb OKTA.

En conclusió

En resum, ens trobem davant d'una eina molt flexible, fàcil d'implementar i que gràcies a la seva capacitat de compartir dades per als usuaris sense haver de divulgar informació personal, proporciona un extra de seguretat en els processos d'autenticació.

Potser et pot interessar

03 d’abril de 2023

Què és l'Internet de les Coses (IoT)?

Internet de les Coses – en anglès Internet of Things (d'aquí neixen les conegudes sigles IoT) – és un terme cada vegada més present en la nostra vida quotidiana. Cada dia que passa és més comú escoltar com apareixen nous dispositius que poden fer-nos la vida a la llar i a la feina molt més fàcil, gràcies a les múltiples possibilitats que les seves aplicacions ens brinden.

SEIDOR
16 de gener de 2023

Què és i per a què serveix Salesforce? Característiques del CRM nº1?

Més de 150.000 empreses de tot tipus i mida treballen amb la tecnologia Salesforce. Gràcies a la seva cada vegada més àmplia gamma de productes, les xifres demostren una clara tendència de creixement.

SEIDOR
11 de gener de 2023

Salesforce Certificacions: Guia, Exàmens i Oportunitats de Treball

Salesforce ocupa el primer lloc entre els productes de gestió de relacions amb clients (CRM). És la seva versatilitat el que fa d'aquesta eina apta per a qualsevol tipus d'empresa, amb independència de la seva mida i del sector al qual pertanyi.

SEIDOR