SlideShare uma empresa Scribd logo
1 de 23
Consulting/Training
Azure Active Directory
An Introduction for Developers
Consulting/Training
John Garland
Microsoft MVP Windows Platform Development
Member Microsoft Azure Insider
Azure Mobile Services Advisory Board
Author Windows Store Apps Succinctly
Co-Author Programming the Windows Runtime by Example
MCPD Azure, Windows Developer, Windows Phone
MCTS Silverlight
jgarland@wintellect.com
@dotnetgator
Wintellect Principal Consultant
Consulting/Training
consulting
Wintellect helps you build better software, faster,
tackling the tough projects and solving the software
and technology questions that help you transform
your business.
 Architecture, Analysis and Design
 Full lifecycle software development
 Debugging and Performance tuning
 Database design and development
training
Wintellect's courses are written and taught by some of
the biggest and most respected names in the Microsoft
programming industry.
 Learn from the best. Access the same training
Microsoft’s developers enjoy
 Real world knowledge and solutions on both current
and cutting edge technologies
 Flexibility in training options – onsite, virtual, on
demand
Wintellect is the only company that offers the combined value of world class consulting services along with
onsite, virtual and on-demand developer training. We help companies build better software, faster, helping you
maximize and protect your consulting and training investments through ongoing knowledge transfer.
who we are
About Wintellect
Consulting/Training
 A Simple Demo – Adding Authentication to an ASP.NET MVC Application
 An Overview of Azure Active Directory
 The Developer Story
 Background – Integrating an Application’s Authentication with Azure Active Directory
 Demo – Working with the Azure Active Directory Graph API
 Demo – Calling a Secured Web API from a Secured Web App
 Demo – Calling a Secured Web API from a Native Client Application
 Wrapup
Agenda
Consulting/Training
Securing MVC Web Application Content with Azure Active Directory
Consulting/Training
 Created an app entry in an Azure
Active Directory tenant (and
some users)
 Used the OWIN middleware to
add authentication support to
the MVC Web App
 Configured the OWIN
middleware to know about the
AD app
What Have We Seen?
Consulting/Training
 Identity & Access Management as a Service
 You decide who the users are, what information is stored, who can get at it, who
can manage it, and what apps can use it.
 Microsoft is responsible for keeping it all running.
 Standalone, but can be synced with on-premises AD
 3 Editions: Free, Basic, Premium
 Application integration via support for several standard authentication
protocols (SAML 2.0, WS-Federation, Open ID Connect)
Azure Active Directory – What Is It?
Consulting/Training
No Object Limit No Object Limit
No Limit
Adv Security Reports
Yes (Advanced)**
Premium
+ Basic
Features
Group-based access management/provisioning Yes Yes
Self-Service Password Reset for cloud users Yes Yes
Company Branding (Logon Pages/Access Panel customization) Yes Yes
SLA Yes (99.9%) Yes (99.9%)
Consulting/Training
 Designed for “The Cloud” (as opposed to being retrofitted/adapted)
 REST Graph API with OData syntax for queries (instead of LDAP)
 Synchronize OR Connect to on-prem AD (ADFS is optional) via AAD Connect
 Sync
 User attributes synced using Identity Sync Services (includes a password hash)
 Authentication completes against AAD
 Connect
 User attributes synced vis Identity Sync Services
 Authentication passed back to local AD via ADFS and is completed locally
 Synchronize OR Connect to external SaaS applications
Azure Active Directory != Windows Active Directory
Consulting/Training
 Company Branding for Sign-In Screen
 Active Directory Application Proxy
 Access Control Services 2.0
 Multi-Factor Authentication
 Security Reporting and Alerts
 License Management
 Leverage Single Sign On with 2400+ 3rd party apps in the Azure AD
App Gallery
 Etc…
But Wait, There’s More!
Consulting/Training
 Applications
 Entities that rely on AAD for
Authentication
 Configuration Values:
 ClientID – Unique ID (GUID) for an application
 Application ID URI - Sent to AAD to indicate
the what the caller wants a token for
 ReplyURL - For web API or web application,
the location to which Azure AD will send the
authentication response
 Redirect URI – For an OAuth 2.0 request, a
unique identifier to which Azure AD will
redirect the user-agent
 Domains
 Default <tenant>.onmicrosoft.com
 A default domain is created with
your Azure Subscription for
managing Azure Management
Access
 Can also provision custom domain
names, use tenant ID, or use the
“custom” tenant
 Users
 Create in portal, via AAD PowerShell
cmdlet, or via sync
Azure Active Directory Development Terminology
Consulting/Training
 First Step – Stand up some middleware in front of the server
 Intercept requests and redirect if necessary to an Identity Provider (IdP).
 The IdP issues a token back to the client (browser, app), which is provided to the
server that is hosting the secured resource.
 The Server verifies the token with the IdP and – if valid – allows the request to
continue.
 Later
 Additional logic can request more information about the verified identity and
check to determine the resource in question can be accessed.
Fundamentals of Token-Based Web Authentication
Consulting/Training
OpenID Auth Code Authentication Flow
1 – Request Resource
2 – Redirect to IdP
3–RequestCode
4-Challenge/Response
5–ReturnanAccessCode
6 – Send Auth Code To Server
9:
Relying Party
(eg – Your Web App)
Client
(eg – Your Web Browser)
Identity Provider (IdP)
(eg – Azure Active Directory)
OAuth-A OAuth-T
Consulting/Training
 Then - Windows Identity Foundation (WIF)
 API for building claims-aware applications
 Configuration heavy, older tech, a product of a different era (WS-Fed)
 Authentication tooling in ASP.NET VS2013 Projects leverages WIF
 Now - “Katana” – Microsoft’s ASP.NET OWIN implementation.
 WS-Fed, OpenID Connect
 MUCH simpler to work with
 Hopefully VS Projects will get significant OWIN tooling “SOON”
ASP.NET Authentication Middleware
Consulting/Training
Azure AD Graph Client Library
 Wraps the REST API for Azure Active
Directory - Access objects such as
Users, Groups, Contacts, Tenant
Information, Roles, Applications,
Permissions
 OAuth 2.0 Support, supports both
Client Credentials and Authorization
Code flow
 Does not depend on ADAL, but
often used together
AD Authentication Library (ADAL)
 Authenticate users to AD and obtain
access tokens for securing API calls
 Manage token caching & lifetime
 Works with Azure AD, Windows
Server ADFS for Windows Server
2012 R2, and ACS
 Available for .NET, Windows Store
(WinRT), Node.js
 V3.0 (Pre) is a PCL with support for WinRT,
Xamarin iOS, Xamarin Android)
Tools for Working with Azure Active Directory
Consulting/Training
Calling the Graph API from an Authenticated MVC Web Site Endpoint
Consulting/Training
 The previous example looked at
 Securing one or more endpoints of an ASP.NET MVC app
 Using parts of the work done to authenticate the MVC App endpoint to also
access the Azure AD Graph
 Now What If
 The Web App needs to call a secured Web API? As the App? As the User?
 A Native Client App needs to call the same secured Web API?
Now What If…
Consulting/Training
Flowing authentication from a Web App to a Web Service
Calling the same Web Service from a Native Client Application
Consulting/Training
 Using OWIN Middleware to add
AAD-based authentication to an
MVC Web App endpoint
 Using Web App authentication
credentials to call the AAD Graph
API
 Using Web App authentication
credentials to call a Web API service
as both a user and an app
 Calling a Web API that requires
authentication from a Native App
What Have We Seen
Consulting/Training
 APIs and Sample Code
 Azure AD Authentication Library for
.NET - http://msdn.microsoft.com/en-
us/library/azure/jj573266.aspx
 Azure AD Graph API -
http://msdn.microsoft.com/en-
us/library/azure/hh974476.aspx
 Azure Active Directory Code Samples -
http://msdn.microsoft.com/en-
us/library/azure/dn646737.aspx
 Claims
 A Guide to Claims-Based Identity and
Access Control (2nd Edition) -
http://msdn.microsoft.com/en-
us/library/ff423674.aspx
 Azure Active Directory Videos
 Channel 9 AAD Series -
http://channel9.msdn.com/Series/Wind
ows-Azure-Active-Directory
 TechEd Europe 2014 -
http://channel9.msdn.com/Events/TechE
d/Europe/2014?tag=microsoft-azure-
active-directory
Resources
Consulting/Training
 Native Clients
 WPF calling Web API
 WinRT Calling WebAPI
 Call Web API, calling another WebAPI
 Xamarin – Multiple OS’s
 Headless calling Web API
 Daemons (Services)
 Calling WebAPI (Password & Certificate)
 .NET Web Apps
 Call via OpenID Connect & WS-Fed
 App calls Web API via OpenID Connect,
OAuth2 (App & User Identities)
 SPAs
 JavaScript client calling to .NET service
 Calling Azure AD Graph API
 RBAC via Groups and Roles
Azure AD Samples
And many more…
Consulting/Training
 Get to know the basic concepts of distributed application
authentication
 Get familiar with the lay-of-the-land of the AAD Samples
 See if your needs [align with || can be slightly pivoted to align with] the
concepts shown in the AAD Samples, and then use them as a roadmap
 If you’re a .NET developer, focus on leveraging the ASP.NET OWIN
(“Katana”) middleware components in your applications (unless you are
already moving forward to vNext)
$0.05 of Advice
Consulting/Training
Thank You

Mais conteúdo relacionado

Mais procurados

NIC 2017 Did you like Azure RMS? You will like Azure Information Protection e...
NIC 2017 Did you like Azure RMS? You will like Azure Information Protection e...NIC 2017 Did you like Azure RMS? You will like Azure Information Protection e...
NIC 2017 Did you like Azure RMS? You will like Azure Information Protection e...Morgan Simonsen
 
Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Kris Wagner
 
Windows azure active directory
Windows azure active directoryWindows azure active directory
Windows azure active directoryKrunal Trivedi
 
EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On
EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-OnEWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On
EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-OnPeter Selch Dahl
 
Azure AD App Proxy Login Scenarios with an On Premises Applications - TSPUG
Azure AD App Proxy Login Scenarios with an On Premises Applications - TSPUGAzure AD App Proxy Login Scenarios with an On Premises Applications - TSPUG
Azure AD App Proxy Login Scenarios with an On Premises Applications - TSPUGRoy Kim
 
Identity and o365 on Azure
Identity and o365 on AzureIdentity and o365 on Azure
Identity and o365 on AzureMostafa
 
Azure Global Bootcamp 2017 Azure AD Deployment
Azure Global Bootcamp 2017 Azure AD DeploymentAzure Global Bootcamp 2017 Azure AD Deployment
Azure Global Bootcamp 2017 Azure AD DeploymentAnthony Clendenen
 
Identity Management for Office 365 and Microsoft Azure
Identity Management for Office 365 and Microsoft AzureIdentity Management for Office 365 and Microsoft Azure
Identity Management for Office 365 and Microsoft AzureSparkhound Inc.
 
JoTechies - Cloud identity
JoTechies - Cloud identityJoTechies - Cloud identity
JoTechies - Cloud identityJoTechies
 
Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active DirectoryPavel Revenkov
 
Colabora.dk - Azure PTA vs ADFS vs Desktop SSO
Colabora.dk - Azure PTA vs ADFS vs Desktop SSOColabora.dk - Azure PTA vs ADFS vs Desktop SSO
Colabora.dk - Azure PTA vs ADFS vs Desktop SSOPeter Selch Dahl
 
Protect Identities and Access to resources with Azure Active Directory
Protect Identities and Access to resources with Azure Active Directory Protect Identities and Access to resources with Azure Active Directory
Protect Identities and Access to resources with Azure Active Directory Vignesh Ganesan I Microsoft MVP
 
Access Security - Privileged Identity Management
Access Security - Privileged Identity ManagementAccess Security - Privileged Identity Management
Access Security - Privileged Identity ManagementEng Teong Cheah
 
Get your site microsoft edge ready
Get your site microsoft edge readyGet your site microsoft edge ready
Get your site microsoft edge readyMostafa
 
Hitchhiker's Guide to Azure AD - SPSKC
Hitchhiker's Guide to Azure AD - SPSKCHitchhiker's Guide to Azure AD - SPSKC
Hitchhiker's Guide to Azure AD - SPSKCMax Fritz
 
SPSNL17 - Securing Office 365 and Microsoft Azure like a rock star (or groupi...
SPSNL17 - Securing Office 365 and Microsoft Azure like a rock star (or groupi...SPSNL17 - Securing Office 365 and Microsoft Azure like a rock star (or groupi...
SPSNL17 - Securing Office 365 and Microsoft Azure like a rock star (or groupi...DIWUG
 

Mais procurados (20)

NIC 2017 Did you like Azure RMS? You will like Azure Information Protection e...
NIC 2017 Did you like Azure RMS? You will like Azure Information Protection e...NIC 2017 Did you like Azure RMS? You will like Azure Information Protection e...
NIC 2017 Did you like Azure RMS? You will like Azure Information Protection e...
 
Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Microsoft Azure Identity and O365
Microsoft Azure Identity and O365
 
Windows azure active directory
Windows azure active directoryWindows azure active directory
Windows azure active directory
 
EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On
EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-OnEWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On
EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On
 
Azure AD App Proxy Login Scenarios with an On Premises Applications - TSPUG
Azure AD App Proxy Login Scenarios with an On Premises Applications - TSPUGAzure AD App Proxy Login Scenarios with an On Premises Applications - TSPUG
Azure AD App Proxy Login Scenarios with an On Premises Applications - TSPUG
 
Identity and o365 on Azure
Identity and o365 on AzureIdentity and o365 on Azure
Identity and o365 on Azure
 
Azure Global Bootcamp 2017 Azure AD Deployment
Azure Global Bootcamp 2017 Azure AD DeploymentAzure Global Bootcamp 2017 Azure AD Deployment
Azure Global Bootcamp 2017 Azure AD Deployment
 
Identity Management for Office 365 and Microsoft Azure
Identity Management for Office 365 and Microsoft AzureIdentity Management for Office 365 and Microsoft Azure
Identity Management for Office 365 and Microsoft Azure
 
JoTechies - Cloud identity
JoTechies - Cloud identityJoTechies - Cloud identity
JoTechies - Cloud identity
 
Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory
 
Azure AD with Office 365 and Beyond!
Azure AD with Office 365 and Beyond!Azure AD with Office 365 and Beyond!
Azure AD with Office 365 and Beyond!
 
Securing your Azure Identity Infrastructure
Securing your Azure Identity InfrastructureSecuring your Azure Identity Infrastructure
Securing your Azure Identity Infrastructure
 
Colabora.dk - Azure PTA vs ADFS vs Desktop SSO
Colabora.dk - Azure PTA vs ADFS vs Desktop SSOColabora.dk - Azure PTA vs ADFS vs Desktop SSO
Colabora.dk - Azure PTA vs ADFS vs Desktop SSO
 
Protect Identities and Access to resources with Azure Active Directory
Protect Identities and Access to resources with Azure Active Directory Protect Identities and Access to resources with Azure Active Directory
Protect Identities and Access to resources with Azure Active Directory
 
Iam
IamIam
Iam
 
ADFS + IAM
ADFS + IAMADFS + IAM
ADFS + IAM
 
Access Security - Privileged Identity Management
Access Security - Privileged Identity ManagementAccess Security - Privileged Identity Management
Access Security - Privileged Identity Management
 
Get your site microsoft edge ready
Get your site microsoft edge readyGet your site microsoft edge ready
Get your site microsoft edge ready
 
Hitchhiker's Guide to Azure AD - SPSKC
Hitchhiker's Guide to Azure AD - SPSKCHitchhiker's Guide to Azure AD - SPSKC
Hitchhiker's Guide to Azure AD - SPSKC
 
SPSNL17 - Securing Office 365 and Microsoft Azure like a rock star (or groupi...
SPSNL17 - Securing Office 365 and Microsoft Azure like a rock star (or groupi...SPSNL17 - Securing Office 365 and Microsoft Azure like a rock star (or groupi...
SPSNL17 - Securing Office 365 and Microsoft Azure like a rock star (or groupi...
 

Destaque

A Developer's Introduction to Azure Active Directory B2C
A Developer's Introduction to Azure Active Directory B2CA Developer's Introduction to Azure Active Directory B2C
A Developer's Introduction to Azure Active Directory B2CJohn Garland
 
Introduction to Active Directory
Introduction to Active DirectoryIntroduction to Active Directory
Introduction to Active Directorythoms1i
 
Windows Server 2008 Active Directory
Windows Server 2008 Active DirectoryWindows Server 2008 Active Directory
Windows Server 2008 Active Directoryanilinvns
 
Windows Azure Active Directory: Identity Management in the Cloud
Windows Azure Active Directory: Identity Management in the CloudWindows Azure Active Directory: Identity Management in the Cloud
Windows Azure Active Directory: Identity Management in the CloudChris Dufour
 
7 tips to simplify Active Directory Management ​
7 tips to simplify Active Directory Management ​7 tips to simplify Active Directory Management ​
7 tips to simplify Active Directory Management ​Zoho Corporation
 
Customer First: From Data to Insights to Impact
Customer First: From Data to Insights to ImpactCustomer First: From Data to Insights to Impact
Customer First: From Data to Insights to Impactdelaware BeLux
 
Domain Name Server
Domain Name ServerDomain Name Server
Domain Name Servervipulvaid
 
Sql Server 2012 Installation..
Sql Server 2012 Installation..Sql Server 2012 Installation..
Sql Server 2012 Installation..Anand Kumar Rajana
 
How to install SQLSERVER 2012
How to install SQLSERVER 2012How to install SQLSERVER 2012
How to install SQLSERVER 2012Andre Nascimento
 
What is active directory
What is active directoryWhat is active directory
What is active directoryAdeel Khurram
 

Destaque (13)

Active Directory Training
Active Directory TrainingActive Directory Training
Active Directory Training
 
Active Directory
Active Directory Active Directory
Active Directory
 
A Developer's Introduction to Azure Active Directory B2C
A Developer's Introduction to Azure Active Directory B2CA Developer's Introduction to Azure Active Directory B2C
A Developer's Introduction to Azure Active Directory B2C
 
Introduction to Active Directory
Introduction to Active DirectoryIntroduction to Active Directory
Introduction to Active Directory
 
Windows Server 2008 Active Directory
Windows Server 2008 Active DirectoryWindows Server 2008 Active Directory
Windows Server 2008 Active Directory
 
Windows Azure Active Directory: Identity Management in the Cloud
Windows Azure Active Directory: Identity Management in the CloudWindows Azure Active Directory: Identity Management in the Cloud
Windows Azure Active Directory: Identity Management in the Cloud
 
7 tips to simplify Active Directory Management ​
7 tips to simplify Active Directory Management ​7 tips to simplify Active Directory Management ​
7 tips to simplify Active Directory Management ​
 
Customer First: From Data to Insights to Impact
Customer First: From Data to Insights to ImpactCustomer First: From Data to Insights to Impact
Customer First: From Data to Insights to Impact
 
Domain Name Server
Domain Name ServerDomain Name Server
Domain Name Server
 
Sql Server 2012 Installation..
Sql Server 2012 Installation..Sql Server 2012 Installation..
Sql Server 2012 Installation..
 
How to install SQLSERVER 2012
How to install SQLSERVER 2012How to install SQLSERVER 2012
How to install SQLSERVER 2012
 
MCITP
MCITPMCITP
MCITP
 
What is active directory
What is active directoryWhat is active directory
What is active directory
 

Semelhante a Azure Active Directory - An Introduction for Developers

Análisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la informaciónAnálisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la informaciónPlain Concepts
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricSpiffy
 
Azure Mobile Services Workshop
Azure Mobile Services WorkshopAzure Mobile Services Workshop
Azure Mobile Services WorkshopEran Stiller
 
Azure Community Tour 2019 - AZUGDK
Azure Community Tour 2019 - AZUGDKAzure Community Tour 2019 - AZUGDK
Azure Community Tour 2019 - AZUGDKPeter Selch Dahl
 
Azure from scratch part 2 By Girish Kalamati
Azure from scratch part 2 By Girish KalamatiAzure from scratch part 2 By Girish Kalamati
Azure from scratch part 2 By Girish KalamatiGirish Kalamati
 
The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)Dave Bost
 
"Secure Mobile Apps with the Microsoft Identity Platform", Christos Matskas, ...
"Secure Mobile Apps with the Microsoft Identity Platform", Christos Matskas, ..."Secure Mobile Apps with the Microsoft Identity Platform", Christos Matskas, ...
"Secure Mobile Apps with the Microsoft Identity Platform", Christos Matskas, ...Fwdays
 
Developing and deploying Identity-enabled applications for the cloud
Developing and deploying Identity-enabled applications for the cloudDeveloping and deploying Identity-enabled applications for the cloud
Developing and deploying Identity-enabled applications for the cloudMaarten Balliauw
 
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professionalMake IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professionalBIWUG
 
Capture the Cloud with Azure
Capture the Cloud with AzureCapture the Cloud with Azure
Capture the Cloud with AzureShahed Chowdhuri
 
Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009guest829442
 
Building Solution Templates and Managed Applications for the Azure Marketplace
Building Solution Templates and Managed Applications for the Azure MarketplaceBuilding Solution Templates and Managed Applications for the Azure Marketplace
Building Solution Templates and Managed Applications for the Azure MarketplaceMicrosoft Tech Community
 
Azure Virtual Desktop Overview.pptx
Azure Virtual Desktop Overview.pptxAzure Virtual Desktop Overview.pptx
Azure Virtual Desktop Overview.pptxceyhan1
 
Capture the Cloud with Azure
Capture the Cloud with AzureCapture the Cloud with Azure
Capture the Cloud with AzureShahed Chowdhuri
 
Multi-Factor Authentication for your clouds
Multi-Factor Authentication for your cloudsMulti-Factor Authentication for your clouds
Multi-Factor Authentication for your cloudsAlexandre Verkinderen
 

Semelhante a Azure Active Directory - An Introduction for Developers (20)

Análisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la informaciónAnálisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la información
 
Azure-AD.pptx
Azure-AD.pptxAzure-AD.pptx
Azure-AD.pptx
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
 
Azure Mobile Services Workshop
Azure Mobile Services WorkshopAzure Mobile Services Workshop
Azure Mobile Services Workshop
 
Azure Community Tour 2019 - AZUGDK
Azure Community Tour 2019 - AZUGDKAzure Community Tour 2019 - AZUGDK
Azure Community Tour 2019 - AZUGDK
 
Azure from scratch part 2 By Girish Kalamati
Azure from scratch part 2 By Girish KalamatiAzure from scratch part 2 By Girish Kalamati
Azure from scratch part 2 By Girish Kalamati
 
The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)
 
Azure
AzureAzure
Azure
 
Azure
AzureAzure
Azure
 
"Secure Mobile Apps with the Microsoft Identity Platform", Christos Matskas, ...
"Secure Mobile Apps with the Microsoft Identity Platform", Christos Matskas, ..."Secure Mobile Apps with the Microsoft Identity Platform", Christos Matskas, ...
"Secure Mobile Apps with the Microsoft Identity Platform", Christos Matskas, ...
 
Developing and deploying Identity-enabled applications for the cloud
Developing and deploying Identity-enabled applications for the cloudDeveloping and deploying Identity-enabled applications for the cloud
Developing and deploying Identity-enabled applications for the cloud
 
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professionalMake IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
 
Azure: PaaS or IaaS
Azure: PaaS or IaaSAzure: PaaS or IaaS
Azure: PaaS or IaaS
 
Capture the Cloud with Azure
Capture the Cloud with AzureCapture the Cloud with Azure
Capture the Cloud with Azure
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
 
Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009
 
Building Solution Templates and Managed Applications for the Azure Marketplace
Building Solution Templates and Managed Applications for the Azure MarketplaceBuilding Solution Templates and Managed Applications for the Azure Marketplace
Building Solution Templates and Managed Applications for the Azure Marketplace
 
Azure Virtual Desktop Overview.pptx
Azure Virtual Desktop Overview.pptxAzure Virtual Desktop Overview.pptx
Azure Virtual Desktop Overview.pptx
 
Capture the Cloud with Azure
Capture the Cloud with AzureCapture the Cloud with Azure
Capture the Cloud with Azure
 
Multi-Factor Authentication for your clouds
Multi-Factor Authentication for your cloudsMulti-Factor Authentication for your clouds
Multi-Factor Authentication for your clouds
 

Mais de John Garland

Don't Fly Blind - Implementing Effective Application Instrumentation with Azu...
Don't Fly Blind - Implementing Effective Application Instrumentation with Azu...Don't Fly Blind - Implementing Effective Application Instrumentation with Azu...
Don't Fly Blind - Implementing Effective Application Instrumentation with Azu...John Garland
 
DevOps > CI + CD. A web developer's introduction to Application Insights
DevOps > CI + CD.  A web developer's introduction to Application InsightsDevOps > CI + CD.  A web developer's introduction to Application Insights
DevOps > CI + CD. A web developer's introduction to Application InsightsJohn Garland
 
Easy Copy with AZ Copy
Easy Copy with AZ CopyEasy Copy with AZ Copy
Easy Copy with AZ CopyJohn Garland
 
Putting the Cloud in Your Pocket with Azure Mobile Services (.NET)
Putting the Cloud in Your Pocket with Azure Mobile Services (.NET)Putting the Cloud in Your Pocket with Azure Mobile Services (.NET)
Putting the Cloud in Your Pocket with Azure Mobile Services (.NET)John Garland
 
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013John Garland
 
NE Code Camp 14 - Introduction to Windows Phone 7 development with Silverlight
NE Code Camp 14 - Introduction to Windows Phone 7 development with SilverlightNE Code Camp 14 - Introduction to Windows Phone 7 development with Silverlight
NE Code Camp 14 - Introduction to Windows Phone 7 development with SilverlightJohn Garland
 
VT Code Camp 2010 - Introduction to windows phone 7 development with silverlight
VT Code Camp 2010 - Introduction to windows phone 7 development with silverlightVT Code Camp 2010 - Introduction to windows phone 7 development with silverlight
VT Code Camp 2010 - Introduction to windows phone 7 development with silverlightJohn Garland
 
NH .Net Code Camp 2010 - An Introduction to Windows Phone 7 Development with ...
NH .Net Code Camp 2010 - An Introduction to Windows Phone 7 Development with ...NH .Net Code Camp 2010 - An Introduction to Windows Phone 7 Development with ...
NH .Net Code Camp 2010 - An Introduction to Windows Phone 7 Development with ...John Garland
 
NH .Net Code Camp 2010 - Silverlight business applications
NH .Net Code Camp 2010 - Silverlight business applicationsNH .Net Code Camp 2010 - Silverlight business applications
NH .Net Code Camp 2010 - Silverlight business applicationsJohn Garland
 
NH .Net Code Camp 2010 - An Introduction to Silverlight Development
NH .Net Code Camp 2010 - An Introduction to Silverlight DevelopmentNH .Net Code Camp 2010 - An Introduction to Silverlight Development
NH .Net Code Camp 2010 - An Introduction to Silverlight DevelopmentJohn Garland
 

Mais de John Garland (10)

Don't Fly Blind - Implementing Effective Application Instrumentation with Azu...
Don't Fly Blind - Implementing Effective Application Instrumentation with Azu...Don't Fly Blind - Implementing Effective Application Instrumentation with Azu...
Don't Fly Blind - Implementing Effective Application Instrumentation with Azu...
 
DevOps > CI + CD. A web developer's introduction to Application Insights
DevOps > CI + CD.  A web developer's introduction to Application InsightsDevOps > CI + CD.  A web developer's introduction to Application Insights
DevOps > CI + CD. A web developer's introduction to Application Insights
 
Easy Copy with AZ Copy
Easy Copy with AZ CopyEasy Copy with AZ Copy
Easy Copy with AZ Copy
 
Putting the Cloud in Your Pocket with Azure Mobile Services (.NET)
Putting the Cloud in Your Pocket with Azure Mobile Services (.NET)Putting the Cloud in Your Pocket with Azure Mobile Services (.NET)
Putting the Cloud in Your Pocket with Azure Mobile Services (.NET)
 
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
 
NE Code Camp 14 - Introduction to Windows Phone 7 development with Silverlight
NE Code Camp 14 - Introduction to Windows Phone 7 development with SilverlightNE Code Camp 14 - Introduction to Windows Phone 7 development with Silverlight
NE Code Camp 14 - Introduction to Windows Phone 7 development with Silverlight
 
VT Code Camp 2010 - Introduction to windows phone 7 development with silverlight
VT Code Camp 2010 - Introduction to windows phone 7 development with silverlightVT Code Camp 2010 - Introduction to windows phone 7 development with silverlight
VT Code Camp 2010 - Introduction to windows phone 7 development with silverlight
 
NH .Net Code Camp 2010 - An Introduction to Windows Phone 7 Development with ...
NH .Net Code Camp 2010 - An Introduction to Windows Phone 7 Development with ...NH .Net Code Camp 2010 - An Introduction to Windows Phone 7 Development with ...
NH .Net Code Camp 2010 - An Introduction to Windows Phone 7 Development with ...
 
NH .Net Code Camp 2010 - Silverlight business applications
NH .Net Code Camp 2010 - Silverlight business applicationsNH .Net Code Camp 2010 - Silverlight business applications
NH .Net Code Camp 2010 - Silverlight business applications
 
NH .Net Code Camp 2010 - An Introduction to Silverlight Development
NH .Net Code Camp 2010 - An Introduction to Silverlight DevelopmentNH .Net Code Camp 2010 - An Introduction to Silverlight Development
NH .Net Code Camp 2010 - An Introduction to Silverlight Development
 

Último

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 

Último (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 

Azure Active Directory - An Introduction for Developers

  • 1. Consulting/Training Azure Active Directory An Introduction for Developers
  • 2. Consulting/Training John Garland Microsoft MVP Windows Platform Development Member Microsoft Azure Insider Azure Mobile Services Advisory Board Author Windows Store Apps Succinctly Co-Author Programming the Windows Runtime by Example MCPD Azure, Windows Developer, Windows Phone MCTS Silverlight jgarland@wintellect.com @dotnetgator Wintellect Principal Consultant
  • 3. Consulting/Training consulting Wintellect helps you build better software, faster, tackling the tough projects and solving the software and technology questions that help you transform your business.  Architecture, Analysis and Design  Full lifecycle software development  Debugging and Performance tuning  Database design and development training Wintellect's courses are written and taught by some of the biggest and most respected names in the Microsoft programming industry.  Learn from the best. Access the same training Microsoft’s developers enjoy  Real world knowledge and solutions on both current and cutting edge technologies  Flexibility in training options – onsite, virtual, on demand Wintellect is the only company that offers the combined value of world class consulting services along with onsite, virtual and on-demand developer training. We help companies build better software, faster, helping you maximize and protect your consulting and training investments through ongoing knowledge transfer. who we are About Wintellect
  • 4. Consulting/Training  A Simple Demo – Adding Authentication to an ASP.NET MVC Application  An Overview of Azure Active Directory  The Developer Story  Background – Integrating an Application’s Authentication with Azure Active Directory  Demo – Working with the Azure Active Directory Graph API  Demo – Calling a Secured Web API from a Secured Web App  Demo – Calling a Secured Web API from a Native Client Application  Wrapup Agenda
  • 5. Consulting/Training Securing MVC Web Application Content with Azure Active Directory
  • 6. Consulting/Training  Created an app entry in an Azure Active Directory tenant (and some users)  Used the OWIN middleware to add authentication support to the MVC Web App  Configured the OWIN middleware to know about the AD app What Have We Seen?
  • 7. Consulting/Training  Identity & Access Management as a Service  You decide who the users are, what information is stored, who can get at it, who can manage it, and what apps can use it.  Microsoft is responsible for keeping it all running.  Standalone, but can be synced with on-premises AD  3 Editions: Free, Basic, Premium  Application integration via support for several standard authentication protocols (SAML 2.0, WS-Federation, Open ID Connect) Azure Active Directory – What Is It?
  • 8. Consulting/Training No Object Limit No Object Limit No Limit Adv Security Reports Yes (Advanced)** Premium + Basic Features Group-based access management/provisioning Yes Yes Self-Service Password Reset for cloud users Yes Yes Company Branding (Logon Pages/Access Panel customization) Yes Yes SLA Yes (99.9%) Yes (99.9%)
  • 9. Consulting/Training  Designed for “The Cloud” (as opposed to being retrofitted/adapted)  REST Graph API with OData syntax for queries (instead of LDAP)  Synchronize OR Connect to on-prem AD (ADFS is optional) via AAD Connect  Sync  User attributes synced using Identity Sync Services (includes a password hash)  Authentication completes against AAD  Connect  User attributes synced vis Identity Sync Services  Authentication passed back to local AD via ADFS and is completed locally  Synchronize OR Connect to external SaaS applications Azure Active Directory != Windows Active Directory
  • 10. Consulting/Training  Company Branding for Sign-In Screen  Active Directory Application Proxy  Access Control Services 2.0  Multi-Factor Authentication  Security Reporting and Alerts  License Management  Leverage Single Sign On with 2400+ 3rd party apps in the Azure AD App Gallery  Etc… But Wait, There’s More!
  • 11. Consulting/Training  Applications  Entities that rely on AAD for Authentication  Configuration Values:  ClientID – Unique ID (GUID) for an application  Application ID URI - Sent to AAD to indicate the what the caller wants a token for  ReplyURL - For web API or web application, the location to which Azure AD will send the authentication response  Redirect URI – For an OAuth 2.0 request, a unique identifier to which Azure AD will redirect the user-agent  Domains  Default <tenant>.onmicrosoft.com  A default domain is created with your Azure Subscription for managing Azure Management Access  Can also provision custom domain names, use tenant ID, or use the “custom” tenant  Users  Create in portal, via AAD PowerShell cmdlet, or via sync Azure Active Directory Development Terminology
  • 12. Consulting/Training  First Step – Stand up some middleware in front of the server  Intercept requests and redirect if necessary to an Identity Provider (IdP).  The IdP issues a token back to the client (browser, app), which is provided to the server that is hosting the secured resource.  The Server verifies the token with the IdP and – if valid – allows the request to continue.  Later  Additional logic can request more information about the verified identity and check to determine the resource in question can be accessed. Fundamentals of Token-Based Web Authentication
  • 13. Consulting/Training OpenID Auth Code Authentication Flow 1 – Request Resource 2 – Redirect to IdP 3–RequestCode 4-Challenge/Response 5–ReturnanAccessCode 6 – Send Auth Code To Server 9: Relying Party (eg – Your Web App) Client (eg – Your Web Browser) Identity Provider (IdP) (eg – Azure Active Directory) OAuth-A OAuth-T
  • 14. Consulting/Training  Then - Windows Identity Foundation (WIF)  API for building claims-aware applications  Configuration heavy, older tech, a product of a different era (WS-Fed)  Authentication tooling in ASP.NET VS2013 Projects leverages WIF  Now - “Katana” – Microsoft’s ASP.NET OWIN implementation.  WS-Fed, OpenID Connect  MUCH simpler to work with  Hopefully VS Projects will get significant OWIN tooling “SOON” ASP.NET Authentication Middleware
  • 15. Consulting/Training Azure AD Graph Client Library  Wraps the REST API for Azure Active Directory - Access objects such as Users, Groups, Contacts, Tenant Information, Roles, Applications, Permissions  OAuth 2.0 Support, supports both Client Credentials and Authorization Code flow  Does not depend on ADAL, but often used together AD Authentication Library (ADAL)  Authenticate users to AD and obtain access tokens for securing API calls  Manage token caching & lifetime  Works with Azure AD, Windows Server ADFS for Windows Server 2012 R2, and ACS  Available for .NET, Windows Store (WinRT), Node.js  V3.0 (Pre) is a PCL with support for WinRT, Xamarin iOS, Xamarin Android) Tools for Working with Azure Active Directory
  • 16. Consulting/Training Calling the Graph API from an Authenticated MVC Web Site Endpoint
  • 17. Consulting/Training  The previous example looked at  Securing one or more endpoints of an ASP.NET MVC app  Using parts of the work done to authenticate the MVC App endpoint to also access the Azure AD Graph  Now What If  The Web App needs to call a secured Web API? As the App? As the User?  A Native Client App needs to call the same secured Web API? Now What If…
  • 18. Consulting/Training Flowing authentication from a Web App to a Web Service Calling the same Web Service from a Native Client Application
  • 19. Consulting/Training  Using OWIN Middleware to add AAD-based authentication to an MVC Web App endpoint  Using Web App authentication credentials to call the AAD Graph API  Using Web App authentication credentials to call a Web API service as both a user and an app  Calling a Web API that requires authentication from a Native App What Have We Seen
  • 20. Consulting/Training  APIs and Sample Code  Azure AD Authentication Library for .NET - http://msdn.microsoft.com/en- us/library/azure/jj573266.aspx  Azure AD Graph API - http://msdn.microsoft.com/en- us/library/azure/hh974476.aspx  Azure Active Directory Code Samples - http://msdn.microsoft.com/en- us/library/azure/dn646737.aspx  Claims  A Guide to Claims-Based Identity and Access Control (2nd Edition) - http://msdn.microsoft.com/en- us/library/ff423674.aspx  Azure Active Directory Videos  Channel 9 AAD Series - http://channel9.msdn.com/Series/Wind ows-Azure-Active-Directory  TechEd Europe 2014 - http://channel9.msdn.com/Events/TechE d/Europe/2014?tag=microsoft-azure- active-directory Resources
  • 21. Consulting/Training  Native Clients  WPF calling Web API  WinRT Calling WebAPI  Call Web API, calling another WebAPI  Xamarin – Multiple OS’s  Headless calling Web API  Daemons (Services)  Calling WebAPI (Password & Certificate)  .NET Web Apps  Call via OpenID Connect & WS-Fed  App calls Web API via OpenID Connect, OAuth2 (App & User Identities)  SPAs  JavaScript client calling to .NET service  Calling Azure AD Graph API  RBAC via Groups and Roles Azure AD Samples And many more…
  • 22. Consulting/Training  Get to know the basic concepts of distributed application authentication  Get familiar with the lay-of-the-land of the AAD Samples  See if your needs [align with || can be slightly pivoted to align with] the concepts shown in the AAD Samples, and then use them as a roadmap  If you’re a .NET developer, focus on leveraging the ASP.NET OWIN (“Katana”) middleware components in your applications (unless you are already moving forward to vNext) $0.05 of Advice

Notas do Editor

  1. NOTE – “Free” is not (currently) limited to Dev/Test as some other Free service tiers are
  2. Source: “Azure AD Explained” talk from TechEd EU 2014 Azure AD Premium Trial - 100 user licenses for 90 days
  3. License management is currently limited to seats for Enterprise Mobility Suite (Intune, Azure AD RMS, Azure AD Premium), Azure AD Premium, Azure AD Basic, Office 365
  4. http://openid.net/specs/openid-connect-core-1_0.html#CodeFlowSteps Also Vittorio at TE-EU 1/2 – Anonymous request results in a 302, with a redirect to the IdP 3 – Authenticate starts with request for an access code, which usually results in a challenge page (logon page). 4/5 - When the challenge is met, the access code is issued 6 – The request is then remade, passing along the code 7/8 – The server then requests a token, using the code as “collateral”, and if the Code is OK, a pair of tokens (A & R) are returned 9 – A Cookie is issued to the browser to establish use for the session
  5. WIF - Formerly known as “Geneva” Opinion – VS2013 & WIF Authentication tooling is simply horrible – a cacophony of web.config entries, “mystery method” overrides, a database of dubious usefulness, and a whole lot of ceremony.