La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Services web pour applications web modernes et mobiles

Présentations similaires


Présentation au sujet: "Services web pour applications web modernes et mobiles"— Transcription de la présentation:

1 Services web pour applications web modernes et mobiles
ASP.NET Web API 2 Services web pour applications web modernes et mobiles Yves Peneveyre / Benjamin Soulier Architecte Senior / Expert Technique Cambridge Technology Partners

2 Redirection par attributs Tests unitaires OWIN & OData Sécurité
Introduction Pourquoi Web API ? Quoi de neuf ? Redirection par attributs Tests unitaires OWIN & OData Sécurité Oauth 2.0

3 Cambridge Technology Partners
Nos plus de 250 employés servent un portfolio varié de grandes PMEs et de sociétés multinationales dans de nombreux secteurs d'activités, à partir de nos bureaux suisses de Bâle, Genève & Zürich et de nos centres globaux de réalisation en Hongrie et en Ukraine.

4 Intervenants Yves Peneveyre Architecte Senior
Benjamin Soulier Expert Technique MVP Azure

5 DEMO 1ère Web API avec ASP.NET Web API 2

6 Services Web HTTP

7 Pour tout type de client
App ? ? ? ? Navigateurs Appareils électroniques Mobiles Tablettes

8 Appareils électroniques
Montée en charge App ? ? ? ? Navigateurs Appareils électroniques Mobiles Tablettes

9 Appareils électroniques
Rester simple App .config ? ? ? ? SOAP Navigateurs Appareils électroniques Mobiles Tablettes

10 Capitaliser le Web - Construire des APIs Web
App 2 ASP.NET Web API Navigateurs Appareils électroniques Mobiles Tablettes

11 Démarrer avec ASP.NET Web API 2
Disponible en tant que package NuGet Livré avec Visual Studio 2013 Supporte .NET 4.5 et au-delà Code source disponible à

12 Quoi de neuf avec ASP.NET Web API 2
Redirection par attributs Intégration avec OWIN Test unitaire plus facile (IHttpActionResult) OData : $select, $expand Securité des Web API (OAuth 2.0)

13 Redirection par attributs
config.Routes.MapHttpRoute( name: “TodosForTodoList", routeTemplate: "api/todolists/{id}/todos", defaults: new { controller = “todolists”, action = “GetTodos” } ); Faire que les routes soient plus proches des ressources Controller Selector Action Selector public IEnumerable<TodoItem> GetTodos() { … }

14 Redirection par attributs
config.MapHttpAttributeRoutes(); [Route("api/todolists/{id}/todos")] public IEnumerable<TodoItem> GetTodos(int id) { … }

15 Redirection par attributs
Valeurs optionnelles Valeurs pas défaut Contraintes [Route(“Demographics/{zipcode?}")] public Demographics Get(int? zipcode) { … } [Route("Demographics/{zipcode=98052}")] public Demographics Get(int zipcode) { … } [Route("people/{id:int}")] public Person Get(int id) { … } [Route("people/{name:alpha}")] public Person Get(string name) { … }

16 DEMO Redirection par attributs

17 Test unitaire des Web APIs
Plus compliqué que ce ça ne devrait… Maintenant, pour écrire un test unitaire il suffit de : Créer un contrôleur Affecter les propriétés au besoin (Request, Configuration, etc.) Appeler l’action Utiliser IHttpActionResult pour encapsuler toute logique réutilisable Disponibilité de fonctions helper pratique

18 DEMO Test Unitaire de Web API

19 Intégration OWIN OWIN = Open Web Interface for .NET (http://owin.org)
Définit une interface commune découplant les applications web des serveurs web Inspiré de node.js, Rack ou WSGI Se trouve dans le pipeline ASP.NET Intégré fortement au sein de ASP.NET Ex. Exécuter un middleware d’authentification pendant l’étape Authenticate de ASP.NET Exécuter vos Web APIs sur n’importe quel hôte compatible OWIN

20 ASP.NET Web API OData Composants pour implémenter des services Odata
Créateurs de modèle, formateurs (Atom/JSON/XML), interpréteurs de path et query, générateur d’expression LINQ, etc. Utilisez-les autant que vous le voulez Basé sur ODataLib Même concepts que WCF Data Services Déjà disponible avec Visual Studio 2012 Update 2 Supporte maintenant $select, $expand

21 DEMO OData - $select et $expand

22 Sécurité Web API Faites-vous confiance à cette app ?

23 Trop de difficultés pour sécuriser les Web API
Utilisateurs pourraient ne pas faire confiance à des apps et donner leurs informations de connexion Les apps ne veulent pas stocker les informations utilisateurs La plupart des serveurs ne le veulent pas non plus

24 OAuth 2.0 Framework pour autoriser l’accès aux ressources protégées d’un utilisateur à des applications clientes Standard IETF (RFCs 6749 et 6750) Destiné à fonctionner avec les services HTTP Profiles multiples, selon le client et le type d’accès Il ne s’agit pas d’un protocole d’authentification … mais d’une base pour en créer une.

25 OAuth 2.0 Client Propriétaire de la ressource (utilisateur)
Cher utilisateur, je peux utiliser tes photos ? OK OAuth 2.0 Demande d’autorisation Client Propriétaire de la ressource (utilisateur) L’utilisateur a dit que je pouvais accéder à ses photos. Voici la preuve Autorisation accordée Voici mon jeton d’accès. Svp, j’aimerais les photos de cet utilisateur Autorisation d’accès Serveur d’autorisation Jeton d’accès D’accord, les voici Ca me semble correct. Voici un jeton d’accès Jeton d’accès Server hébergeant la ressource (Web API) Ressource protégée

26 OAuth 2.0 – Obtention d’autorisation
Serveur d’autorisation Point d’accès de jetons Point d’accès pour autorisation 2 <Client ID> user Navigateur 3 302 Utilisateur CODE 302 1 <Client ID> Ressource Protégée Client

27 OAuth 2.0 – Demande de jeton
Serveur d’autorisation Point d’accès de jetons Point d’accès pour autorisation 1 <Client ID> client 2 refresh token access token CODE Ressource Protégée Client

28 OAuth 2.0 – Requête de ressource
Serveur d’autorisation Point d’accès de jetons Point d’accès pour autorisation refresh token Ressource Protégée Client 1 Authorization: Bearer access token 2

29 OAuth 2.0 – Accès au jeton de rafraichissement
Serveur d’autorisation Point d’accès de jetons Point d’accès pour autorisation 1 <Client ID> client 2 refresh token access token Ressource Protégée Client refresh token

30 OAuth 2.0 – Support de serveur d’autorisation
2 Options : Héberger votre propre serveur d’autorisation Simple serveur authz disponible en aperçu dans le modèle de code “Single Page Application” Support de serveur authz dans OWIN Utiliser un serveur d’autorisation existant Windows Azure Active Directory Active Directory Federation Services sous Windows Server 2012 R2

31 Quoi de neuf avec ASP.NET Web API 2
Redirection par attributs Intégration avec OWIN Test unitaire plus facile (IHttpActionResult) OData : $select, $expand Securité des Web API (OAuth 2.0)

32 Ressources Pour plus d’information

33 Nous contacter Yves Peneveyre Blog : Twitter LinkedIn : Benjamin Soulier Blog : Twitter LinkedIn :

34 4/2/2017 1:39 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Télécharger ppt "Services web pour applications web modernes et mobiles"

Présentations similaires


Annonces Google