1 / 11

API Racó i OAuth

API Racó i OAuth. API. Tradicionalment , les API son els mètodes que podem cridar en una llibreria o entorn Aquí estem parlant de API web Poder fer servir una aplicació o obtenir dades d’una aplicació des d’una altra aplicació. SOAP. Primera opció Farragosa XML

hisano
Download Presentation

API Racó i OAuth

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. API Racó i OAuth

  2. API • Tradicionalment, les API son elsmètodes que podem cridar en una llibreria o entorn • Aquí estemparlant de API web • Poder fer servir una aplicació o obtenirdadesd’unaaplicació des d’unaaltraaplicació

  3. SOAP • Primera opció • Farragosa • XML • Moltoverhead • Fitxer de definició WSDL • No tant API com la base de SOA • ServiceOrientedArchitecture • A la UPC: Bus SOA

  4. REST • Idea de que la URL es un nom i les operacions son les que permet HTTP • GET /usuaris • GET /usuari/jaume • POST /usuaris {JSON} • PUT /usuari/jaumem {JSON} • DELETE /usuari/jaume

  5. REST “relaxat” • No apte per puristes • Algo més simple que SOAP, basat en JSON o en XML però simple • Es pot cridar facilment des de Javascript en crides AJAX des del navegador • Cuidado! no es poden fer crides AJAX en Javascript a un servidor diferent del que ha servit la pàgina

  6. OAuth • Permet que un sistema accedeixi en nomnostre a la part que nosaltresautoritzemd’unaltre, sensepassar-lil’username i password. • Exemple: Autoritzo a una aplicació de Facebook a que accedeixi a la mevallistad’amics, pero no al meuaniversari

  7. Conceptes • L’aplicació externa s’ha de registrar. • Facebook ha de donar permís a l’aplicació i li dona unes claus que la identifiquen • Quan un usuariutilitzal’aplicació… • La primera vegada ha d’accedir a una pàgina de Facebookd’autorització • Un copfetaquestpas, l’aplicaciójapotaccedir en nomnostre a Facebook

  8. Moltbé i aixocom es fa? • L’aplicaciódemana un “RequestToken” • Fem una redireccióamb el tokenperque el proveidorpugui “autoritzar” el token, passant un callback de tornada • El callbackintercanvia el “RequestToken” (jaautoritzat) per un “Access Token” al proveidor • Guardem el Access Token a la nostraaplicacióassociat a l’usuari que ha entrat

  9. Oauth 2.0 vs 1.0 • OAuth 1.0 signa les peticionsutilitzantun secret a part del token. El secretmais’envia a les peticions. • Oauth 2.0 es mes simple i permetmésescenaris • Aplicacions no web • Aplicacionspròpies en les que podem posar username i password de forma segura

  10. Exemple al Racó • https://raco.fib.upc.edu/api • Java • Aplicació web • LlibreriaSignpost • Signpostenspermet signar les peticionsOauth 1.0 de forma simple • Permetobtenir i validar elstokens a partir de 3 url (request, access i authorize)

  11. OAuth 1.0 + AppAndroid • El callback té un format especial (raco://raco) <intent-filter> <actionandroid:name="android.intent.action.VIEW"></action> <categoryandroid:name="android.intent.category.DEFAULT"></category> <categoryandroid:name="android.intent.category.BROWSABLE"></category> <data android:host="raco" android:scheme="raco"></data> </intent-filter> • Les peticionss’han de fer de forma asíncrona, utilitzantAsyncTask Click al login -> Demanatoken -> Mostra pantalla d’acceptació -> Retorna a la app i demanaaccéstoken -> Demana URL ambOAuth

More Related