SlideShare a Scribd company logo
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

More Related Content

What's hot

ASP.NET Web Security
ASP.NET Web SecurityASP.NET Web Security
ASP.NET Web Security
SharePointRadi
 
Asp.net membership anduserroles_ppt
Asp.net membership anduserroles_pptAsp.net membership anduserroles_ppt
Asp.net membership anduserroles_ppt
Shivanand Arur
 
Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory
Krunal Trivedi
 
Hands on with ASP.NET MVC
Hands on with ASP.NET MVC  Hands on with ASP.NET MVC
Hands on with ASP.NET MVC
rahulsahay19
 
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
Joonas Westlin
 
2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership
Daniel Fisher
 
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
Joonas Westlin
 
Programming with Azure Active Directory
Programming with Azure Active DirectoryProgramming with Azure Active Directory
Programming with Azure Active Directory
Joonas Westlin
 
Zero credential development with managed identities
Zero credential development with managed identitiesZero credential development with managed identities
Zero credential development with managed identities
Joonas Westlin
 
Zero Credential Development with Managed Identities
Zero Credential Development with Managed IdentitiesZero Credential Development with Managed Identities
Zero Credential Development with Managed Identities
Joonas Westlin
 
IBM Watson Work Services Development
IBM Watson Work Services DevelopmentIBM Watson Work Services Development
IBM Watson Work Services Development
Van Staub, MBA
 
SAML and Liferay
SAML and LiferaySAML and Liferay
SAML and Liferay
Mika Koivisto
 
Securing SharePoint Apps with OAuth
Securing SharePoint Apps with OAuthSecuring SharePoint Apps with OAuth
Securing SharePoint Apps with OAuth
Kashif Imran
 
Microsoft Teams community call - February 2020
Microsoft Teams community call - February 2020Microsoft Teams community call - February 2020
Microsoft Teams community call - February 2020
Microsoft 365 Developer
 
Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Microsoft Azure Identity and O365
Microsoft Azure Identity and O365
Kris Wagner
 
Azure Active Directory - An Introduction
Azure Active Directory  - An IntroductionAzure Active Directory  - An Introduction
Azure Active Directory - An Introduction
Venkatesh Narayanan
 
RIA meets Desktop
RIA meets DesktopRIA meets Desktop
RIA meets Desktop
Peter Elst
 
IdP, SAML, OAuth
IdP, SAML, OAuthIdP, SAML, OAuth
IdP, SAML, OAuth
Dan Brinkmann
 

What's hot (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
 

Similar to ZubZib Black Coffee #9 - ASP.NET Identity

Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015
Bluegrass Digital
 
OWIN
OWINOWIN
Brewing Beer with Windows Azure
Brewing Beer with Windows AzureBrewing Beer with Windows Azure
Brewing Beer with Windows AzureMaarten Balliauw
 
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
Jeff Handley
 
Brewing Beer with Windows Azure - NDC2013
Brewing Beer with Windows Azure - NDC2013Brewing Beer with Windows Azure - NDC2013
Brewing Beer with Windows Azure - NDC2013
Maarten Balliauw
 
Introduction to OWIN
Introduction to OWINIntroduction to OWIN
Introduction to OWIN
Saran Doraiswamy
 
Owin and katana overview
Owin and katana overviewOwin and katana overview
Owin and katana overview
Pooja Gaikwad
 
Owin and-katana-overview
Owin and-katana-overviewOwin and-katana-overview
Owin and-katana-overview
sonia merchant
 
Owin & katana
Owin & katanaOwin & katana
Owin & katana
Fabian Vilers
 
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
 
Mvc
MvcMvc
Mvc
jojaime
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
Murali Krishna Alluri
 
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
Adnan Masood
 
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 StudioMicrosoft 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)
Arrow Consulting & Design
 
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
K.Mohamed Faizal
 
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
company
 
Asp.net visual studio 2013
Asp.net   visual studio 2013Asp.net   visual studio 2013
Asp.net visual studio 2013
Tyrone Moodley
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
vijayrvr
 

Similar to 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
 

Recently uploaded

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 

Recently uploaded (20)

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 

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