ASP.NET Authentication with Identity Jump Start

Slides:



Advertisements
Similar presentations
Jon Galloway | Technical Evangelist Christopher Harrison | Content Developer.
Advertisements

Gerry O’Brien| Technical Content Development Manager Paul Pardi| Senior Content Publishing Manager.
Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
BUILDING HYBRID APPS WITH DYNAMICS CRM & WINDOWS AZURE Guy Riddle & George Doubinski Dynamics CRM MVP’s SESSION CODE: DEV-DYN-MID306 (c) 2011 Microsoft.
Kay Herzam Herzam IT Consulting What‘s new in ASP.NET MS TechTalk.
Course Topics Developing 2D & 3D Games with Unity for Windows Day 1 – September 9Day 2 – September | Intro & Unity Overview06 | Optimizing your games.
Join the MVA Community! ▪ Microsoft Virtual Academy—Free online training! ‒ Tailored for IT Pros and Developers ‒ Over 1M registered users ▪ Earn while.
Christopher Chapman | MCT Content PM, Microsoft Learning, PDG Planning, Microsoft.
Goals One ASP.NET Membership story – Web APIs and Web Apps Profile. Extensibility allows for non SQL persistence model. Improve unit testability of.
Module 5 Configuring Authentication. Module Overview Lesson 1: Understanding Classic SharePoint Authentication Providers Lesson 2: Understanding Federated.
Jon Galloway | Development Platform Evangelist Christopher Harrison | Microsoft Certified Trainer.
Microsoft ® Official Course Module 13 Implementing Windows Azure Active Directory.
Microsoft Virtual Academy Stacey Mulcahy | Technical Evangelist Christopher Harrison | Content Developer.
Andrew Coates Advanced Windows 10 development with the Office 365 APIs DEV33 5.
ASP.NET Identity System
Register for these FREE Jump Starts—NOW! January 30 | Virtualization for VMware Pros − Late Feb | Tools for VMware.
DotNetNuke v4 Overview Stan Schultes Stan Schultes Enterprise architect / application developer Enterprise architect / application developer Conference.
Naqash Ahmed | Microsoft Student Partner. Naqash Ahmed | Student of Bachelors in Software Engineering Microsoft Student Partner since November.
11 | Managing User Info Jeremy Foster Michael Palermo
A deep dive into Azure AD B2C
A lap around Azure Active Directory Business to Consumer (B2C)
Porting your Unity Game to the Windows Store Jump Start
ASP .NET MVC Authorization Training Videos
Let’s talk Power BI Premium /guyinacube Adam Saxton.
Join the MVA Community! Microsoft Virtual Academy—Free online training! Tailored for IT Pros and Developers Over 2M registered users Earn while you learn!
SaaS Application Deep Dive
Directory Synchronization in Office 365
Web API Design Jeremy Likness | Principal Architect
Designing Database Solutions for SQL Server
Introduction to ASP.NET MVC Jump Start
Cloud Enable at APS.NET LOB App
Learn more: Expand your Cloud Knowledge
Integrating Microsoft SharePoint 2010 with Windows Azure
11/14/ :30 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Cross Platform Development with Xamarin & Visual Studio 2013
Office 365 Admin Support Skills: Service Management
Join the MVA Community! Microsoft Virtual Academy—Free online training! Tailored for IT Pros and Developers Over 1M registered users Earn while you learn!
Introduction to AngularJS
Cloud-Enable a Windows Presentation Foundation LOB App
Introduction to jQuery
Introduction to Authentication Authentication සදහා හැදින්වීම
Office 365 Identity Management
Join the MVA Community! Microsoft Virtual Academy—Free online training! Tailored for IT Pros and Developers Over 2M registered users Earn while you learn!
Package Management and Workflow Automation
SharePoint Online Authentication Patterns
Game Production Basics
TechEd /22/2019 9:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Implementing Security in ASP.NET Core: Claims, Patterns, and Policies
Developing Microsoft Azure Solutions Jump Start
A Lap Around Azure Websites Introduction
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
DevOps - Visual Studio Release Management Jump Start
Implementing Entity Framework with MVC Jump Start
Single Page Applications with jQuery or AngularJS
07 | Introduction to Authentication
Developing Universal Windows Apps with HTML and JavaScript
Introduction to Portal for ArcGIS
Gaming Engines for Windows 8
Quick Start Challenge: Universal Projects to Build a Game
Pranav Rastogi | Program Manager, Microsoft
Quick Start Challenge: Microsoft Advertising SDK
Microsoft Office SharePoint Server 2007 Enterprise Search
Sessions about to start – Get your rig on!
Lighting Up Real-time Web Communications with SignalR Introduction
Getting Started with PowerShell Jump Start
Microsoft Virtual Academy
Jeffrey Snover | Distinguished Engineer & Lead Architect
05 | Testers’ Role in the DevOps World
What’s ASP.NET 5 and Why? Scott Hunter | Director of Program Management Scott Hanselman | Principal Program Manager.
Adding Style with CSS Helen Zeng | Developer Evangelist
Presentation transcript:

ASP.NET Authentication with Identity Jump Start Adam Tuliper | Technical Evangelist, Microsoft Jeremy Foster | Technical Evangelist, Microsoft

Meet Adam Tuliper | ‏@AdamTuliper Technical Evangelist, Microsoft Focused on Web, Gaming, and Cloud Technologies Emphasis on secure development practices 20 years of industry experience as software architect Enterprise, startups, public sector, defense, healthcare, financial industries channel9.msdn.com/Blogs/AdamTuliper Video content adamtuliper.com

Meet Jeremy Foster | @codefoster Developer Evangelist, Microsoft Honing in on web platform, Windows apps, and Azure Blogging at http://codefoster.com Author, presenter, coder http://codefoster.com/codechat http://codefoster.com/codeshow

Course Topics ASP.NET Authentication with Identity 01 | Overview of Identity 04 | Two Factor Authentication 02 | Using Database Users 05 | Migrating Membership to Identity 03 | oAuth and Social Providers 06 | Identity Tips & Recommendations

Join the MVA Community! Microsoft Virtual Academy Free online learning tailored for IT Pros and Developers Over 1M registered users Up-to-date, relevant training on variety of Microsoft products “Earn while you learn!” Get 50 MVA Points for this event! Visit http://aka.ms/MVA-Voucher Enter this code: CustASPAuth (expires 12/22/2014)

01 | Overview of Identity Adam Tuliper | Technical Evangelist, Microsoft Jeremy Foster | Technical Evangelist, Microsoft

Module Overview What is Identity? A history lesson Architecture of ASP.NET Identity Template Walkthrough

What is ASP.NET Identity?

What is ASP.NET Identity? Identity is Users, Authentication, Authorization *Everyone has a different definition Identity works with OWIN middleware and Identity system. It is a claims based system Stores login, claims, roles

What does ASP.NET Identity Support? oAuth / OpenId Organizational – AD, Azure AD, Office 365 Allows SSO Individual database backed auth Custom data stores (extendable) Roles Claims Note, Windows auth doesn’t fit in here

What is SSO? Single Sign On User provides same credentials to access multiple services User provides credentials once to access multiple services

What are Claims? Identity makes extensive use of Claims User delivers claims to your app Where do they come from? Serialized in secured token Can contain much information about user Roles are single valued Ex “Admins” Claims are key/value per user Ex “Facebook Access Token”, “CAAVl6UvghVkBAIGZB…”

A history lesson

History of ASP.NET account services Nov 2005 ASP.NET 2.0 – Introducing Membership! SQL Server, SQL Express May 2012 Universal Providers (First NuGet) SQL CE, Azure, one provider to access all SQL Aug 2012 Simple Membership Sourced in Web Pages, came to MVC / Web Forms Oct 2013 ASP.NET Identity v1 Completely new model Mar 2014 ASP.NET Identity v2 Two factor, account lockout, confirmation, reset, etc Oct 2014 (alpha) ASP.NET 5 – Identity v3 Thus far, plumbing changes to work with ASP.NET 5

Architecture of ASP.NET Identity

It’s all about the bits Source code available https://github.com/aspnet/Identity https://github.com/aspnet/security Note these will take you to current bits Contribute – we want your ideas!

KATANA & OWIN Identity uses security middleware Microsoft’s OWIN Implementation is Project Katana for v1, v2 Katana now fully integrated into ASP.NET 5 No longer called Katana in Identity v3 OWIN defines easy interface for items to communicate Middleware gets IDictionary<string, object> ASP.NET Identity can be hosted in any OWIN hosted app

Managers and Stores Managers Stores High-level classes Operations such as create user Talks to stores via Interface (ie pluggable) Stores Talks to data access layer Store users, roles, claims

Key Components – TODO: v2 Components Security Middleware Microsoft.AspNet.Security.Facebook Microsoft.AspNet.Security.Google Microsoft.AspNet.Security.MicrosoftAccount Microsoft.AspNet.Security.Oauth Microsoft.AspNet.Security.Twitter Microsoft.AspNet.Security Identity Microsoft.AspNet.Identity Microsoft.AspNet.Identity.EntityFramework

Class overview (don’t stare too long) IdentityUser – That’s you IUser EmailService, SmsService – Notified during 2-factor authentication IIdentityMessageService UserManager - Apis to CRUD user, claim, & auth info via UserStore RoleManager – Apis to CRUD roles via RoleStore UserStore – Talks to data store to store user, user login providers, user claims, user roles, IUserStore, IUserLoginStore, IUserClaimStore, IUserRoleStore RoleStore – Talks to the data store to store roles SigninManager – High level api to sign in (single or two factor)

Let’s simplify!! IdentityUser – That’s you with your properties. UserName, Email, Email Verified EmailService, SmsService – Notified during 2-factor authentication ApplicationUserManager – You call this to manage users. Talks to UserStore SigninManager – You call this to sign-in a user Pretty easy right?

Web template walkthrough

Resources OWIN Documentation https://github.com/owin/owin/blob/master/owin.md See latest code on github.com/aspnet/ https://github.com/aspnet/Identity https://github.com/aspnet/security