Sempre più spesso i server web che ci forniscono le API, richiedono l'accesso ai loro servizi con il protocollo oAuth 2.0.
Questa versione differisce dalla precedente per il fatto che sono richiesti altri parametri oltre alla chiave principale ed inoltre, questi dati non tutti vengono passati in query string, ma vengono utilizzati per costruire la signature che permetterà al client di essere riconosciuto dal server.
Windows Phone non fornisce un modo "standard" che possa andare bene per tutti i servizi: possiamo crearne una libreria allo scopo, che permette, in pochi semplici passi, di ottenere un URL per effettuare la richiesta.
const string consumerKey = "your-consumer-key"; const string consumerSecret = "your-consumer-secret"; const string token = "your-token-key"; const string tokenSecret = "your-token-secret"; Uri url = new Uri("http://api.yelp.com/v2/search?term=food&location=Milano", UriKind.Absolute); OAuthBase oauth = new OAuthBase(url, consumerKey, consumerSecret, token, tokenSecret, OAuthBase.HttpMethodTypes.GET, OAuthBase.SignatureTypes.HMACSHA1); string completeUrl = oauth.GetUrl();
Nel codice precedente la richiesta viene inoltrata ad un servizio offerto da Yelp, per ricercare un qualsiasi locale che vende del cibo nella zona di Milano.
Preparate le variabili contenenti l'URL a cui fare la chiamata e le chiavi private che vi fornisce il servizio stesso, basta fare una chiamata al costruttore della classe OAuthBase ed una chiamata alla funzione GetUrl, che ci restituisce l'URL corretto per fare la richiesta al server.
Rispetto ad altre librerie, quella usata nell'esempio e allegata allo script è molto semplice ed immediata da utilizzare.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Creazione di componenti personalizzati in React.js con Tailwind CSS
Configurare policy CORS in Azure Container Apps
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Effettuare il binding di date in Blazor
Specificare il versioning nel path degli URL in ASP.NET Web API
Utilizzare database e servizi con gli add-on di Container App
Evitare la command injection in un workflow di GitHub
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Aggiungere interattività lato server in Blazor 8
Miglioramenti nelle performance di Angular 16
Implementare l'infinite scroll con QuickGrid in Blazor Server
I più letti di oggi
- Utilizzare Docker Compose con Azure App Service
- Modernizzare le applicazioni WPF e Windows Forms con Blazor
- annunciato #netstandard 2.1. .NET Core lo supporterà a partire da #netcore3, così come le prossime versione di #xamarin, #mono e #unity.il supporto per #netfx 4.8, invece, non ci sarà. https://aspit.co/bq2
- Steel Style CheckBox per Silverlight 4.0
- Utilizzare QuickGrid di Blazor con Entity Framework