SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory
Pavel Revenkov
 

Was ist angesagt? (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...
 

Andere mochten auch

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
Chris Dufour
 
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 2012
Andre Nascimento
 

Andere mochten auch (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
 

Ähnlich wie Azure Active Directory - An Introduction for Developers

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
Spiffy
 
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
Girish Kalamati
 

Ähnlich wie 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
 

Mehr von 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
 
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 - 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
John Garland
 

Mehr von 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
 

Kürzlich hochgeladen

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Kürzlich hochgeladen (20)

WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 

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

Hinweis der Redaktion

  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.