SlideShare ist ein Scribd-Unternehmen logo
1 von 24
ASP.NET IDENTITY
Non Intanon | nonintanon.com | non@mrnon.com
ZupZip #9 Skill Update v2

24 November 2013 ~ UTCC
AGENDA
 The History
 ASP.NET Identity
 OWIN

 Katana
 Live Demo 1 – Hello ASP.NET Identity
 Live Demo 2 – Let’s consume the API
 Live Demo 3 – Write your own OWIN middleware
 Lucky Draw!
THE HISTORY
Membership 101
PREVIOUS MEMBERSHIP SYSTEMS
 ASP.NET Membership
 ASP.NET Simple Membership
 ASP.NET Universal Providers
ASP.NET MEMBERSHIP
 Design to solve common membership requirements in 2005
 Form Authentication + SQL Server database
 Limitations





Database schema was designed for SQL Server – CANNOT CHANGE
Profile Provider API is too complicated
Provider system allow to change backing data store, but only Relational Database
Form Authentication won’t work nicely with OWIN
ASP.NET SIMPLE MEMBERSHIP
 Developed as a membership system for ASP.NET Web Pages
 Shipped with Web Matrix and Visual Studio 2010 SP1
 Limitations
 Hard to persist membership system data in a non-relational store
 No OWIN
 Doesn’t work well with existing ASP.NET Membership providers. Not extensible.
ASP.NET UNIVERSAL PROVIDERS
 Developed to make it possible to persist membership information in Windows
Azure SQL Database (work with SQL Server Compact too)
 Built on Entity Framework Code First, which means it can be used to persist data
in any store supported by EF.
 Database schema cleaned up a lot
 Still built on ASP.NET Membership infrastructure hence same limitations
 Still using Form Authentication for log-in and log-out
ASP.NET IDENTITY
The Next Generation Membership System
ASP.NET IDENTITY
 One ASP.NET Identity System
 Ease of plugging in profile data about the user
 Persistence Control

 Unit Testability
 Role Provider
ASP.NET IDENTITY
 Claims Based
 Social Login Providers
 Windows Azure Active Directory

 OWIN Integration
 NuGet Package
OWIN
Open Web Interface for .NET
OWIN
 Open Web Interface for .NET
 Defines a standard interface between .NET web servers and web applications
 Goal
 To decouple server and application
 Open source ecosystem of .NET web development tools

 Official website

http://owin.org

 Source code

http://github.com/owin/owin

 Specification (OWIN v1.0.0)

http://owin.org/spec/owin-1.0.0.html
OWIN – WTH?
 OWIN is NOT technology
 OWIN is a simple specification that describes how components in a HTTP pipeline
should communicate
 What is in the communication between components is specific to each
component
 OWIN is a community-owned specification, not an implementation
 Inspired by the benefits achieved by Rack () in the Ruby community

 New components could be more easily developed and consumed
 Applications could be more easily ported between hosts and potentially entire
platforms/operating systems
OWIN – SERVER & HOSTS
 Katana

https://katanaproject.codeplex.com

 Nowin

https://github.com/Bobris/Nowin
OWIN - FRAMEWORKS
 Nancy

http://nancyfx.com

 SignalR

http://signalr.net

 WebApi

https://aspnetwebstack.codeplex.com

 FubuMVC

http://mvc.fubu-project.com

 Simple.Web

https://github.com/markrendle/Simple.Web

 DuoVia.Http

https://github.com/duovia/duovia-http
KATANA
OWIN Implementations for Microsoft servers and frameworks
KATANA PROJECT
 Samurai Sword
 OWIN implementations for Microsoft servers and frameworks
 Set of Components for building and hosting OWIN-based web applications

 Set of open-source OWIN components developed by Microsoft
 Office Website

https://katanaproject.codeplex.com
KATANA ARCHITECTURE
LIVE DEMO 1
Hello ASP.NET Identity
LIVE DEMO 2
Let’s consume the API
LIVE DEMO 3
Write your own OWIN middleware
LUCKY DRAW !!
THANK YOU
3 Times

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

ASP.NET Web Security
ASP.NET Web SecurityASP.NET Web Security
ASP.NET Web Security
 
Asp.net membership anduserroles_ppt
Asp.net membership anduserroles_pptAsp.net membership anduserroles_ppt
Asp.net membership anduserroles_ppt
 
Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory
 
Hands on with ASP.NET MVC
Hands on with ASP.NET MVC  Hands on with ASP.NET MVC
Hands on with ASP.NET MVC
 
Building a document e-signing workflow with Azure Durable Functions
Building a document e-signing workflow with Azure Durable FunctionsBuilding a document e-signing workflow with Azure Durable Functions
Building a document e-signing workflow with Azure Durable Functions
 
2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership
 
Zero Credential Development with Managed Identities for Azure resources
Zero Credential Development with Managed Identities for Azure resourcesZero Credential Development with Managed Identities for Azure resources
Zero Credential Development with Managed Identities for Azure resources
 
Programming with Azure Active Directory
Programming with Azure Active DirectoryProgramming with Azure Active Directory
Programming with Azure Active Directory
 
Zero credential development with managed identities
Zero credential development with managed identitiesZero credential development with managed identities
Zero credential development with managed identities
 
Zero Credential Development with Managed Identities
Zero Credential Development with Managed IdentitiesZero Credential Development with Managed Identities
Zero Credential Development with Managed Identities
 
IBM Watson Work Services Development
IBM Watson Work Services DevelopmentIBM Watson Work Services Development
IBM Watson Work Services Development
 
SAML and Liferay
SAML and LiferaySAML and Liferay
SAML and Liferay
 
Apache Syncope and Tirasa
Apache Syncope and TirasaApache Syncope and Tirasa
Apache Syncope and Tirasa
 
Securing SharePoint Apps with OAuth
Securing SharePoint Apps with OAuthSecuring SharePoint Apps with OAuth
Securing SharePoint Apps with OAuth
 
Microsoft Teams community call - February 2020
Microsoft Teams community call - February 2020Microsoft Teams community call - February 2020
Microsoft Teams community call - February 2020
 
Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Microsoft Azure Identity and O365
Microsoft Azure Identity and O365
 
Azure Active Directory - An Introduction
Azure Active Directory  - An IntroductionAzure Active Directory  - An Introduction
Azure Active Directory - An Introduction
 
RIA meets Desktop
RIA meets DesktopRIA meets Desktop
RIA meets Desktop
 
IdP, SAML, OAuth
IdP, SAML, OAuthIdP, SAML, OAuth
IdP, SAML, OAuth
 
AWS Users Authentication
AWS Users AuthenticationAWS Users Authentication
AWS Users Authentication
 

Ähnlich wie ZubZib Black Coffee #9 - ASP.NET Identity

Brewing Beer with Windows Azure
Brewing Beer with Windows AzureBrewing Beer with Windows Azure
Brewing Beer with Windows Azure
Maarten Balliauw
 
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Quek Lilian
 
Websites, Web Services and Cloud Applications with Visual Studio
Websites, Web Services and Cloud Applications with Visual StudioWebsites, Web Services and Cloud Applications with Visual Studio
Websites, Web Services and Cloud Applications with Visual Studio
Microsoft Visual Studio
 

Ähnlich wie ZubZib Black Coffee #9 - ASP.NET Identity (20)

Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015
 
OWIN
OWINOWIN
OWIN
 
Brewing Beer with Windows Azure
Brewing Beer with Windows AzureBrewing Beer with Windows Azure
Brewing Beer with Windows Azure
 
NuGet 3.0 - Transitioning from OData to JSON-LD
NuGet 3.0 - Transitioning from OData to JSON-LDNuGet 3.0 - Transitioning from OData to JSON-LD
NuGet 3.0 - Transitioning from OData to JSON-LD
 
Brewing Beer with Windows Azure - NDC2013
Brewing Beer with Windows Azure - NDC2013Brewing Beer with Windows Azure - NDC2013
Brewing Beer with Windows Azure - NDC2013
 
Introduction to OWIN
Introduction to OWINIntroduction to OWIN
Introduction to OWIN
 
Owin and-katana-overview
Owin and-katana-overviewOwin and-katana-overview
Owin and-katana-overview
 
Owin and katana overview
Owin and katana overviewOwin and katana overview
Owin and katana overview
 
Owin & katana
Owin & katanaOwin & katana
Owin & katana
 
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
 
Mvc
MvcMvc
Mvc
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural Comparison
 
Websites, Web Services and Cloud Applications with Visual Studio
Websites, Web Services and Cloud Applications with Visual StudioWebsites, Web Services and Cloud Applications with Visual Studio
Websites, Web Services and Cloud Applications with Visual Studio
 
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
 
Build and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows AzureBuild and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows Azure
 
Web Development with ASP.NET: Taking Control of the Digital World
Web Development with ASP.NET: Taking Control  of the Digital WorldWeb Development with ASP.NET: Taking Control  of the Digital World
Web Development with ASP.NET: Taking Control of the Digital World
 
Asp-net
 Asp-net Asp-net
Asp-net
 
Asp.net visual studio 2013
Asp.net   visual studio 2013Asp.net   visual studio 2013
Asp.net visual studio 2013
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

ZubZib Black Coffee #9 - ASP.NET Identity

  • 1. ASP.NET IDENTITY Non Intanon | nonintanon.com | non@mrnon.com ZupZip #9 Skill Update v2 24 November 2013 ~ UTCC
  • 2. AGENDA  The History  ASP.NET Identity  OWIN  Katana  Live Demo 1 – Hello ASP.NET Identity  Live Demo 2 – Let’s consume the API  Live Demo 3 – Write your own OWIN middleware  Lucky Draw!
  • 4. PREVIOUS MEMBERSHIP SYSTEMS  ASP.NET Membership  ASP.NET Simple Membership  ASP.NET Universal Providers
  • 5. ASP.NET MEMBERSHIP  Design to solve common membership requirements in 2005  Form Authentication + SQL Server database  Limitations     Database schema was designed for SQL Server – CANNOT CHANGE Profile Provider API is too complicated Provider system allow to change backing data store, but only Relational Database Form Authentication won’t work nicely with OWIN
  • 6. ASP.NET SIMPLE MEMBERSHIP  Developed as a membership system for ASP.NET Web Pages  Shipped with Web Matrix and Visual Studio 2010 SP1  Limitations  Hard to persist membership system data in a non-relational store  No OWIN  Doesn’t work well with existing ASP.NET Membership providers. Not extensible.
  • 7. ASP.NET UNIVERSAL PROVIDERS  Developed to make it possible to persist membership information in Windows Azure SQL Database (work with SQL Server Compact too)  Built on Entity Framework Code First, which means it can be used to persist data in any store supported by EF.  Database schema cleaned up a lot  Still built on ASP.NET Membership infrastructure hence same limitations  Still using Form Authentication for log-in and log-out
  • 8. ASP.NET IDENTITY The Next Generation Membership System
  • 9. ASP.NET IDENTITY  One ASP.NET Identity System  Ease of plugging in profile data about the user  Persistence Control  Unit Testability  Role Provider
  • 10. ASP.NET IDENTITY  Claims Based  Social Login Providers  Windows Azure Active Directory  OWIN Integration  NuGet Package
  • 12.
  • 13. OWIN  Open Web Interface for .NET  Defines a standard interface between .NET web servers and web applications  Goal  To decouple server and application  Open source ecosystem of .NET web development tools  Official website http://owin.org  Source code http://github.com/owin/owin  Specification (OWIN v1.0.0) http://owin.org/spec/owin-1.0.0.html
  • 14. OWIN – WTH?  OWIN is NOT technology  OWIN is a simple specification that describes how components in a HTTP pipeline should communicate  What is in the communication between components is specific to each component  OWIN is a community-owned specification, not an implementation  Inspired by the benefits achieved by Rack () in the Ruby community  New components could be more easily developed and consumed  Applications could be more easily ported between hosts and potentially entire platforms/operating systems
  • 15. OWIN – SERVER & HOSTS  Katana https://katanaproject.codeplex.com  Nowin https://github.com/Bobris/Nowin
  • 16. OWIN - FRAMEWORKS  Nancy http://nancyfx.com  SignalR http://signalr.net  WebApi https://aspnetwebstack.codeplex.com  FubuMVC http://mvc.fubu-project.com  Simple.Web https://github.com/markrendle/Simple.Web  DuoVia.Http https://github.com/duovia/duovia-http
  • 17. KATANA OWIN Implementations for Microsoft servers and frameworks
  • 18. KATANA PROJECT  Samurai Sword  OWIN implementations for Microsoft servers and frameworks  Set of Components for building and hosting OWIN-based web applications  Set of open-source OWIN components developed by Microsoft  Office Website https://katanaproject.codeplex.com
  • 20. LIVE DEMO 1 Hello ASP.NET Identity
  • 21. LIVE DEMO 2 Let’s consume the API
  • 22. LIVE DEMO 3 Write your own OWIN middleware