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

| Lausanne ASP.NET Web API 2 Services web pour applications web modernes et mobiles Yves Peneveyre / Benjamin Soulier Architecte Senior / Expert Technique.

Présentations similaires


Présentation au sujet: "| Lausanne ASP.NET Web API 2 Services web pour applications web modernes et mobiles Yves Peneveyre / Benjamin Soulier Architecte Senior / Expert Technique."— Transcription de la présentation:

1 | Lausanne 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 Agenda 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

8 Montée en charge

9 Rester simple SOAP

10 Capitaliser le Web - Construire des APIs Web

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 Faire que les routes soient plus proches des ressources config.Routes.MapHttpRoute( name: “TodosForTodoList", routeTemplate: "api/todolists/{id}/todos", defaults: new { controller = “todolists”, action = “GetTodos” } ); public IEnumerable GetTodos() { … }

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

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

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 : 1. Créer un contrôleur 2. Affecter les propriétés au besoin (Request, Configuration, etc.) 3. 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)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 Autorisation accordée Autorisation d’accès Jeton d’accès Demande d’autorisation Jeton d’accès

26 OAuth 2.0 – Obtention d’autorisation Ressource Protégée Client Serveur d’autorisation Point d’accès pour autorisation Point d’accès de jetons Navigateur CODE user Utilisateur

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

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

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

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


Télécharger ppt "| Lausanne ASP.NET Web API 2 Services web pour applications web modernes et mobiles Yves Peneveyre / Benjamin Soulier Architecte Senior / Expert Technique."

Présentations similaires


Annonces Google