Web API MVC5 Identity Security Overview

web api mvc5 identity security l.w
1 / 30
Embed
Share

Explore the comprehensive overview of Web API MVC5 identity and security architecture. Understand the importance of transport security, authentication filters, and client identity access in ASP.NET applications.

  • Web API
  • MVC5
  • Security
  • Authentication
  • ASP.NET

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. WEB-API & MVC5 - Identity & Security ASP.NET W ASP.NET WE EB B- -API API Mait Poska & Andres K ver, IT Kolled 2014

  2. Transport security HTTPS == HTTP over TLS RFC 1818 Tunnels unprotected HTTP and adds Server authentication Is it really amazon.com? Integrity protection Nobody can change your book order in the middle of communication Replay protection Nobody can take your packet and resend it 500x times Confidentiality Encryption nobody knows what book you are buying 2

  3. Security Architecture Overview Hosting Message handlers Authentication filter Authorization filter Accessing client identity 3

  4. WEB-API Overview No dependencies on specific host IIS Self-host OWIN & Katana No ASP.NET system.web 4

  5. Security pipeline 5

  6. OWIN system.web hosting 6

  7. OWIN Middleware 7

  8. Katana Authentication Middleware 8

  9. MessageHandler Web API, global or per-route 9

  10. Authentication Filter 10

  11. Authorization Filter Determines if a resource needs authentication [AllowAnonymous] to skip authorization for an action Emits the 401 code, if unsuccessful 11

  12. Accessing the Client Identity RequestContext HttpRequestMessage hosting enviroment ApiController.User is now shortcut to the request context (used to be Thread.CurrentPrincipal in WEB Api 1) Could be null 12

  13. Summary Web API security extensibility is a pipeline Katana Authentication filters Authorization filters Avoid host (IIS) specific dependencies HttpRequestMessage.GetRequestContext().Principal One stop shop for client identity 13

  14. JS/Browser-based clients Same origin policy Implicit Browser Authentication Cross Site Request Forgery (CSRF) Cross Origin Resource Sharing (CORS) 14

  15. Same Origin Policy Sandbox Scripts, communication, implicit browser authentication 15

  16. Using same-domain for Auth Web APIs inherit security settings of web host Cookies, Win/Basic auth, client certs 16

  17. CSRF - Cross Site Request Forgery 17

  18. CSRF Web API 2 18

  19. Web API 2 Web API uses the resource owner password flow defined in OAuth2 http://oauthlib.readthedocs.org/en/latest/oaut h2/grants/password.html 19

  20. Web API 2 Local Login Credential Flow 20

  21. Web API 2 demo - FIDDLER Get http://localhost:3456/api/Values 21

  22. Web API 2 Register user Post http://localhost:3456/api/Account/Register Request headers Content-Type: application/json Request body { "Password": parool , "ConfirmPassword": parool , Email : user@akaver.com } 22

  23. Web API 2 Authenticate Post http://localhost:3456/Token No slash after! Request headers Content-Type: application/x-www-form-urlencoded Request body grant_type=password&username=user@akaver.com& password=parool No linefeeds after! 23

  24. Web API 2 Authenticate Bearer token is a particular type of access token. An access token is a credential string that authorizes a client to access a protected resource. (RFC 6749.) A bearer token is an access token that can be used by any client. (RFC 6750.) Bearer tokens must be used with SSL. 24

  25. Web API 2 Authorized request Get http://localhost:3456/api/Values Request headers Authorization: Bearer mBKN9H_zaix . 25

  26. CORS 26

  27. 27

  28. THE END Mait Poska & Andres K ver 28

  29. Classic/Basic authentication Anti pattern Client must store the secret or obtain it from the user (on every request) Storage in clear text (or reversible encryption) Server has to validate the secret on every request High computational cost brute force protection High probability of accidental exposure of the secret is increased 29

  30. Basic authentication Base64 encoded credentials on auth header GET /service/resource Authorization: Basic username:password 30

More Related Content