Open Authorization o più comunemente chiamato OAuth, è un protocollo di comunicazione open mediante il quale un’applicazione (o un servizio web) può gestire in modo sicuro l’accesso autorizzato ai dati sensibili. Il protocollo è compatibile con qualsiasi tipologia di applicazione: desktop, web e mobile.
Un’evoluzione di OAuth 1.0 è descritta nel documento RFC 6749 dell’ottobre 2012. Il principio di funzionamento è il medesimo, ma differisce dal predecessore per qualche miglioramento nel servizio. Infatti OAuth 2.0 presenta una chiara divisione dei ruoli, implementando un mediatore tra client e server. Un altro vantaggio rispetto alla precedente versione è dato dalla possibilità di prolungare il tempo di utilizzo del token di accesso qualora desiderato.
Gli attori sono i medesimi con l’aggiunta di un server mediatore. Quest’ultimo ha il principale compito di gestire i token di accesso tra client e server. Il server che funge da mediatore può essere lo stesso che ospita le risorse alle quali accedere. Il server mediatore può gestire token di accesso provenienti da più di un solo server.
Autenticazione mediante Postman
Per capire il flusso di autenticazione, facciamo un esempio pratico utilizzando Postman come client. Il client Postman è un plugin di Chrome molto utile per poter fare chiamate REST alle WebApi. E’ possibile anche installarlo direttamente tramite il seguente link: https://www.getpostman.com/postman
Primo step
Il primo step è quello di chiedere alla WebApi il token che ci autorizzerà ad effettuare le successive chiamate agli endpoint delle WebApi.
Per richiedere il token bisogna inviare una richiesta di /Token con la username e password che vi è stata fornita dal provider.
La chiamata deve essere effettuata in POST e nell’headers va settata la seguente impostazione:
Content-Type: application/x-www-form-urlencoded
Mentre nel Body bisogna inserire la username e password con il “grant_type” settato a password
grant_type=password&username=pippo%40email.it&password=PippoPluto1*&=
Secondo step
Nella response della richiesta di Token, se sono stati inseriti correttamente la username e password e siete abilitati ad accedere al sistema, vi verrà restituito un Access Token.
L’Access Token dovrà essere inserito all’interno delle successive chiamate agli endpoint della webapi passando nell’headers il campo Authorization: bearer e l’access token ricevuto.
Cosi facendo sarete autorizzati ad accedere agli endpoint della webapi secondo le autorizzazioni che vi sono state impostate.
Sperando di aver fatto cosa gradita vi lascio alcuni link utili su libri in tema di webapi:
buy atorvastatin without a prescription order lipitor 80mg pill order lipitor 80mg pill
ciprofloxacin 1000mg sale – order generic bactrim 480mg clavulanate pill
cipro uk – keflex 500mg uk augmentin 1000mg cost
metronidazole over the counter – buy cheap amoxicillin cost zithromax
ciplox 500 mg cheap – cost chloromycetin erythromycin 500mg for sale
buy valacyclovir 500mg – cheap generic nemasole order zovirax 800mg for sale
ivermectin generic name – order sumycin pills sumycin 500mg without prescription
order flagyl 200mg online – order azithromycin online cheap zithromax 500mg usa
YGdypITlW
lasix pill – purchase capoten generic purchase capoten
buy ampicillin generic penicillin over the counter order amoxicillin without prescription
retrovir 300mg ca – order glucophage zyloprim 100mg usa
glucophage us – order lincocin purchase lincomycin online cheap
order seroquel online – where can i buy bupropion eskalith ca
clozaril 50mg without prescription – order altace 5mg without prescription pepcid 20mg sale
atarax for sale online – order escitalopram for sale generic endep
buy clomipramine 50mg for sale – paroxetine price order sinequan 25mg generic
purchase amoxil online – buy cephalexin 125mg online ciprofloxacin 1000mg oral
buy generic augmentin 625mg – linezolid 600 mg cost purchase baycip pill
YgSpjXILn
purchase zithromax without prescription – buy generic tindamax order ciplox online
ventolin 2mg canada – brand fexofenadine brand theophylline 400mg
ivermectin 6mg pills for humans – stromectol otc cefaclor 250mg uk
iyDlaLGCSMrNfh
desloratadine oral – ventolin buy online ventolin oral
medrol 8 mg oral – fml-forte uk buy astelin 10 ml sale
order micronase online – glyburide us buy cheap generic dapagliflozin
order repaglinide pills – purchase prandin without prescription buy empagliflozin 25mg generic
glucophage without prescription – order glucophage online cheap order acarbose sale
terbinafine without prescription – generic terbinafine 250mg griseofulvin online order