Today’s Applications Web API Browser Native app Web API Web API

Slides:



Advertisements
Similar presentations
Staying in Sync with Cloud 2 Device Messaging. About Me Chris Risner Twitter: chrisrisner.
Advertisements

Attie Naude 14 May 2013 Windows Azure Mobile Services.
Azure AD & Office Logon with Username / Password 2. MFA challenge 3. Reply to MFA challenge -1-way or 2-way SMS -Phone call -Mobile Application.
W alkie Doggie is a web application that allows dog owners to help each other with their dog walks. It’s main feature is the walkies, which are the user’s.
1 Trillion Azure AD authentications since the release of the service 50 M Office 365 users active every month >1 Billion authentications every.
Active Directory federation user provisioning.
Desktop Mobile Xbox IoT Holographic Surface Hub Universal Windows Platform Core APIs.
1 Trillion Azure AD authentications since the release of the service 50 M Office 365 users active every month >1 Billion authentications every.
GRDevDay March 21, 2015 Cloud-based Identity for Applications.
Active Directory federation user provisioning.
Build /17/2017 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Clients using wide variety of devices/languages/platforms Server applications using wide variety of platforms/languages Browser Native app Server.
Cloud app Cloud app Cloud app Separate username/password sign-in Manual or semi-automated provisioning Active Directory App Separate username/password.
| Basel Discovering Windows Azure Mobile Services and Media Services Ken Casada
Resource App Resource App Resource authorization server authorization endpoint token endpoint A A R.
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control Maarten
© User:Digitalsignal / Wikimedia Commons / CC-BY-SA-3.0User:DigitalsignalWikimedia CommonsCC-BY-SA-3.0.
Office 365 Platform Flexible Tools Each Office 365 Workload API required different Authentication.
IT Unity Webinar Series September 2015 Using Azure Active Directory to Secure Your Apps.
Copyright ©2012 Ping Identity Corporation. All rights reserved.1.
A Lap Around Windows Azure Active Directory Stuart Kwan Lead Principal Program Manager Microsoft Corporation SIA209.
(Azure+O365) Identity Presenter Name Position or role Microsoft Azure.
Microsoft ® Official Course Module 13 Implementing Windows Azure Active Directory.
Windows Server Active Directory Intranet Managed Access Managed Identities Integrated Business Apps.
101 ways to authenticate with Azure Active Directory
FriendFinder Location-aware social networking on mobile phones.
Satisfy Your Technical Curiosity 27, 28 & 29 March 2007 International Convention Center (ICC) Ghent, Belgium.
Building consumer apps with Azure AD B2C
Adxstudio Portals Training
Securing Angular Apps Brian Noyes
Secure Mobile Development with NetIQ Access Manager
Wes Hackett Principal Solutions Architect Chris O’Brien Head of Development.
Martina Grom MVP Office 365 How to (remote) control Office 365 with Azure Toni Pohl MVP Client Dev
Azure Active Directory is becoming one of, if not the, primary user identity management services for cloud applications. One of Azure Active Directory's.
New v2.0 Auth model to authenticate and authorize to Outlook.com APIs and the Microsoft Graph  Same OAuth2 protocols work for both consumer and commercial.
Real-Time Dashboards on Power BI
Azure Active Directory Uday Hegde 2016 Redmond Summit | Identity Without Boundaries May 26, 2016 Group Program Manager, Azure AD
Microsoft Dynamics NAV Microsoft Dynamics NAV managed service for partners, under the hood Dmitry Chadayev Corporate Vice President, Microsoft.
Developers Introduction to the Power BI Platform.
A deep dive into Azure AD B2C
4/18/2018 1:15 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
A lap around Azure Active Directory Business to Consumer (B2C)
Azure Active Directory - Business 2 Consumer
Azure Active Directory voor Developers
Microsoft Ignite /25/ :22 PM
Migrating SharePoint Add-ins from Azure ACS to Azure AD
9/11/ :51 AM Cloud Roadshow © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO.
The power of common identity across any cloud
Social Networks Integration in Android
Azure DevCamp Identity and Office 365 APIs
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Azure AD Line Of Business Application Integration
Deep Dive into Cloud Identity, Identity Bridging and Cloud Tokens - EWUG.DK - Level Peter Selch Dahl - Sr. IT Architect, Cloud and.
11/14/ :30 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Office 365 Development July 2014.
Office development: Authentication demystified
Matthew Levy Azure AD B2B vs B2C Matthew Levy
SharePoint Online Authentication Patterns
Office 365 Development.
Token-based Authentication
Microsoft Office 4/3/2019 Deep Dive into native Universal App development with the Office 365 APIs Speaker name Title Microsoft Corporation © 2012 Microsoft.
Azure Active Directory
4/15/2019 1:57 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
07 | Introduction to Authentication
Building Windows Store Apps with Windows Azure Mobile Services
A Lap Around Windows Azure Active Directory
A lap around Azure AD B2C custom policies
11/11/2019 1:15 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Presentation transcript:

Building native client and mobile apps using Azure Active Directory for sign in

Today’s Applications Web API Browser Native app Web API Web API Web application Web API Browser Native app Web API Web API Server app Clients using wide variety of devices/languages/platforms Server applications using wide variety of platforms/languages

Standard based, HTTP based authentication protocols WS-Fed, SAML 2.0, OpenID Connect Web application Web API Browser OAuth Native app OAuth Web API OAuth Web API Server app OAuth

What is Azure Active Directory? Cloud-based identity service Authentication Directory Identity management Designed for organizations Manage access to cloud apps Can extend on-premises AD Designed for cloud and mobile HTTP/REST & industry standard protocols

Active Directory - Then vs. now

So what’s cooking How AAD represents resources Implementing OAuth2 ADAL Protecting your own API

Azure Active Directory Application Model user@domain WebApp 1 NativeApp 1 user@domain Permission 1 Permission 2 Exposes: WebApp 1 Permission 1 Requires:

Azure Active Directory

Azure Active Directory - Users

Azure Active Directory – Applications - Web

Azure Active Directory – Applications - Native

Azure Active Directory – Applications - Permissions

OAuth for native apps A T <HTML> --code-- --code-- Exchange Online Exposes: Full access to user’s mailbox Read user’s contacts Read user’s mail A <HTML> --code-- T --code-- My cool App Office 365 Read user’s mail Requires:

Auth Code Request/Response GET https://login.windows.net/contoso.com/oauth2/authorize ?response_type=code &resource=https://skwantoso.com/TodoListService &client_id=fb715b0e-3ca9-45b8-9928-2329a776b42d &redirect_uri=http://todolistclient/ &prompt=login << Stuff happens here to sign the user in... >> 302 Found http://todolistclient/ ?code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGCXIY6dQcQ-_cqhsBff… I’d like a code please To access this service This is me Send the code here Here’s your code!

Token Request/Response I have a code POST https://login.windows.net/skwantoso.com/oauth2/token grant_type=authorization_code &code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGCXIY6dQcQ_cqhsBffHFnGbeQHcm… &client_id=fb715b0e-3ca9-45b8-9928-2329a776b42d &redirect_uri=http://todolistclient/ &resource=https://skwantoso.com/TodoListService 200 OK {"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5…", "token_type":"Bearer", "expires_in":"3599", "expires_on":"1396472189", "resource":"https://skwantoso.com/TodoListService", "refresh_token":"AwABAAAAvPM1KaPlrEqdFSBzjqfTGAMqzyrQrqeeZzKzwN…", "scope":"user_impersonation", "id_token":eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJhdWQiOiJmY…n0."} This is me I asked you to send the code here I need to use this service Here is your bearer token When it expires It’s for this service The refresh token Your permissions Info about the user

Server-Based Sign-In User Experience Native client sign-in UI is web-based Same sign-in UI as web app sign-in Web UI allows arbitrary interaction Consent to use application Multi-factor authentication Account compromise detection … and more stuff we haven’t dreamed up yet Plan to offer non-interactive methods Name/password Kerberos These will return error if user interaction required

Active Directory Authentication Libraries (ADAL) Abstracts away most protocol considerations Handles tokens persistence & refresh automatically var ctx = new AuthenticationContext( "https://login.windows.net/u2u.onmicrosoft.com"); AuthenticationResult rez = await ctx.AcquireTokenAsync( "https://outlook.office365.com/", "5fc4a5a2-78d5-4d94-b890-a6e6b3341081");

Active Directory Authentication Libraries (ADAL) Available on multiple platforms .NET, Windows Store, iOS, Android, Node.JS, Java Open source (or in the process to be) Same primitives, native programming models Sophisticated features Works across Windows Server and Azure Active Directory Cache and automatic refresh Multi user support

Protecting Your Own API with AAD Big OAuth2 providers issue tokens for their own resources Facebook for the Facebook Graph, AAD for the Graph, Azure management, Office… Azure AD allows you to secure your own API Easy as 1-2-3 Add an entry for your API in your AAD tenant Define which permissions your app recognizes Add middleware in front of your API to validate AAD access tokens

Adding an entry for your WebAPI in AAD AAD needs to know how to identify your API You can add an entry via the portal… …or you can use VS2013

The application’s manifest AAD needs to know which permissions your API exposes You provide that info by uploading a manifest for your app JSON file holding a description of your app Download the default one, edit the AppPermissions node, upload it back Still VERY MUCH in preview Fun fact: an API can also be a client of some other API! The RequiredResourceAccess node lists the resources & permissions the API requires

TheIdentityHub Sensor Apps Facebook Android Twitter Apple iOS Google www.theidentityhub.com Apple iOS Google Windows Phone Microsoft Windows 8 Active Directory Web Legacy Legacy Apps Office 365

A big thank you to our sponsors Platinum Partners Gold Partners Silver & Track Partners