SlideShare a Scribd company logo
1 of 16
Download to read offline
Implementation of Azure Active Directory
authentication with cross-platform
development
Alexander Meijers | Lead Architect | April 21st, 2016
Why? – ADAL
Xamarin – Steps
Demo - Wrap up!
Why?
• Securing your business applications
• Access resources like Office 365, Yammer and Microsoft Graph
• You don’t need to have extensive
knowledge of authentication
• Focus on building your app
Active Directory Authentication Library
• Enables developers to easily authenticate users against the cloud or on-
premises AD
• It handles mostly all complexity of the authentication
• Returns access tokens to execute secure API calls
• Many features like
• Handles the login screen (including your organization page)
• Asynchronous support
• Configurable token cache for storing access and refresh tokens
• Automatic token refresh when access token expires
• Available on a variety of platforms like .NET, JavaScript, OSX, iOS,
Android and node.js
Xamarin [‘zæmərɪn]
• Allows developers using Visual Studio and C# shared codebase to
create cross-platform applications
• Support of platforms as iOS, Android, Windows 8 and Windows 10
• Acquired by Microsoft on February 24th 2016
• Use Portable Class Libraries or Shared Asset Projects to write code
once for all platforms
• Possible to write platform specific code
Steps
• Register your application in Azure AD
• Setup Xamarin project
• Implement ADAL
• Create a login page
• Implement code for
accessing Microsoft Groups
Register your application in Azure AD
• Specify name, type of application
and redirect URL(s)
• Select the permissions to other
applications
• Client ID is generated
• Client ID and Redirect URL
combination is used during
authentication
Setup Xamarin project
• Create a Xamarin project
• Since February 2016 it is
possible to create
Universal Windows app
• Use Xamarin.Forms Portable project
• Remove any not used projects
• Install the NuGet package Microsoft.IndentityModel.Clients.ActiveDirectory
• V3.9.302111717-alpha
Authenticate with ADAL
AuthenticationContext ac = new AuthenticationContext(string authority);
• authority  URL of the authority
• Calling https://login.microsoftonline.com/common without the tenant id will allow your app to be multi-tenant
AuthenticationResult authResult = AcquireTokenAsync(string resource, string
clientId, Uri redirectUri, IPlatformParameters parameters));
• resource  the URL of the requested resource
• clientId and redirectUri  Azure AD registration
• parameters  Platform specific parameters
• Attempts to return a token for the requested resource
based on caching or refreshing old tokens
• If necessary an Azure AD sign page is shown
to acquire a request token
PlatformParameters
Platform Parameter(s) Value
iOS Reference to a
UIViewController
UIApplication.SharedApplication.KeyWindow.RootView
Controller
Android Reference to an Activity (Activity)Forms.Context
Remark: You will need to override the OnActivityResult
method in MainActivity.cs and call the
WebAuthenticationBrokerContinuationHelper class.
Windows Phone No parameters N/A
Windows 10 (Universal) PromptBehavior,
OrganizationOnly
PromptBehavior.Auto, false
Implement ADAL
• ADALAuthentication class
• Contains the logic for authentication with ADAL
• IADALAuthenticator interface
• Implement the interface per platform to provide the platform specific
PlatformParameters
Implement the IADALInterface
• Implement the interface for iOS
• Implement the interface for Universal Windows
Create a login page
• Use a Xaml forms content page
• Place a (login) button on the page
• Use DependencyService.Get<>(…) method
to retrieve an instance of that interface
within the current platform
• Authenticate and request
access to Microsoft Graph
using the resource URL and
the information you got from
your Azure AD registration
Implement code for accessing Microsoft Groups
• Use the access token you got from your
authentication call
• Define a request based on
• Get= https://graph.microsoft.com/v1.0/groups
• Application/json
• Bearer = access token
• Use NuGet package NewtonSoft.json
Demo time
“Let’s hope the demo gods are with us”
Wrap up!
• ADAL allows you to easily implement authentication in your cross-
platform application
• Be aware of your implementation when using a PCL. Platform
specific code is not allowed in your PCL
• PlatformParameters differ per platform
• For a complete walkthrough check my post
http://www.appzinside.com/2016/02/22/implement-adal-for-cross-
platform-xamarin-applications/

More Related Content

What's hot

Identity in ASP.NET Core
Identity in ASP.NET CoreIdentity in ASP.NET Core
Identity in ASP.NET Coreondrejbalas
 
Office 365 api vs share point app model
Office 365 api vs share point app modelOffice 365 api vs share point app model
Office 365 api vs share point app modelBIWUG
 
2011.05.31 super mondays-servicebus-demo
2011.05.31 super mondays-servicebus-demo2011.05.31 super mondays-servicebus-demo
2011.05.31 super mondays-servicebus-demodaveingham
 
Dev show 02022021 power platform custom connectors
Dev show 02022021 power platform custom connectorsDev show 02022021 power platform custom connectors
Dev show 02022021 power platform custom connectorsJens Schrøder
 
Azure Saturday: External Collaboration With Azure AD B2B
Azure Saturday:  External Collaboration With Azure AD B2BAzure Saturday:  External Collaboration With Azure AD B2B
Azure Saturday: External Collaboration With Azure AD B2BSjoukje Zaal
 
Azure Active Directory - An Introduction
Azure Active Directory  - An IntroductionAzure Active Directory  - An Introduction
Azure Active Directory - An IntroductionVenkatesh Narayanan
 
Going Serverless with Azure Functions
Going Serverless with Azure FunctionsGoing Serverless with Azure Functions
Going Serverless with Azure FunctionsShahed Chowdhuri
 
The bits and pieces of Azure AD B2C
The bits and pieces of Azure AD B2CThe bits and pieces of Azure AD B2C
The bits and pieces of Azure AD B2CAnton Staykov
 
Serverless Computing With Azure Functions
Serverless Computing With Azure FunctionsServerless Computing With Azure Functions
Serverless Computing With Azure FunctionsJaliya Udagedara
 
Intelligent Cloud Conference: Azure AD B2C Application security made easy
Intelligent Cloud Conference: Azure AD B2C Application security made easyIntelligent Cloud Conference: Azure AD B2C Application security made easy
Intelligent Cloud Conference: Azure AD B2C Application security made easySjoukje Zaal
 
External collaboration with Azure B2B
External collaboration with Azure B2B External collaboration with Azure B2B
External collaboration with Azure B2B Sjoukje Zaal
 
TechNet Conference 2013 Berlin-Wie Sie Office 365 mit Windows Azure steuern b...
TechNet Conference 2013 Berlin-Wie Sie Office 365 mit Windows Azure steuern b...TechNet Conference 2013 Berlin-Wie Sie Office 365 mit Windows Azure steuern b...
TechNet Conference 2013 Berlin-Wie Sie Office 365 mit Windows Azure steuern b...atwork
 
Integrating your on-premises Active Directory with Azure and Office 365
Integrating your on-premises Active Directory with Azure and Office 365Integrating your on-premises Active Directory with Azure and Office 365
Integrating your on-premises Active Directory with Azure and Office 365nelmedia
 
O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur...
O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur...O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur...
O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur...NCCOMMS
 
Spsct15 power shell_csom - amit vasu
Spsct15 power shell_csom - amit vasuSpsct15 power shell_csom - amit vasu
Spsct15 power shell_csom - amit vasuamitvasu
 
Securing SharePoint Apps with OAuth
Securing SharePoint Apps with OAuthSecuring SharePoint Apps with OAuth
Securing SharePoint Apps with OAuthKashif Imran
 
ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2Jaliya Udagedara
 
Azure AD B2C An Introduction - DogFoodCon 2018
Azure AD B2C An Introduction - DogFoodCon 2018Azure AD B2C An Introduction - DogFoodCon 2018
Azure AD B2C An Introduction - DogFoodCon 2018Jeremy Gray
 
Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active DirectoryPavel Revenkov
 

What's hot (20)

Intro to vaadin
Intro to vaadinIntro to vaadin
Intro to vaadin
 
Identity in ASP.NET Core
Identity in ASP.NET CoreIdentity in ASP.NET Core
Identity in ASP.NET Core
 
Office 365 api vs share point app model
Office 365 api vs share point app modelOffice 365 api vs share point app model
Office 365 api vs share point app model
 
2011.05.31 super mondays-servicebus-demo
2011.05.31 super mondays-servicebus-demo2011.05.31 super mondays-servicebus-demo
2011.05.31 super mondays-servicebus-demo
 
Dev show 02022021 power platform custom connectors
Dev show 02022021 power platform custom connectorsDev show 02022021 power platform custom connectors
Dev show 02022021 power platform custom connectors
 
Azure Saturday: External Collaboration With Azure AD B2B
Azure Saturday:  External Collaboration With Azure AD B2BAzure Saturday:  External Collaboration With Azure AD B2B
Azure Saturday: External Collaboration With Azure AD B2B
 
Azure Active Directory - An Introduction
Azure Active Directory  - An IntroductionAzure Active Directory  - An Introduction
Azure Active Directory - An Introduction
 
Going Serverless with Azure Functions
Going Serverless with Azure FunctionsGoing Serverless with Azure Functions
Going Serverless with Azure Functions
 
The bits and pieces of Azure AD B2C
The bits and pieces of Azure AD B2CThe bits and pieces of Azure AD B2C
The bits and pieces of Azure AD B2C
 
Serverless Computing With Azure Functions
Serverless Computing With Azure FunctionsServerless Computing With Azure Functions
Serverless Computing With Azure Functions
 
Intelligent Cloud Conference: Azure AD B2C Application security made easy
Intelligent Cloud Conference: Azure AD B2C Application security made easyIntelligent Cloud Conference: Azure AD B2C Application security made easy
Intelligent Cloud Conference: Azure AD B2C Application security made easy
 
External collaboration with Azure B2B
External collaboration with Azure B2B External collaboration with Azure B2B
External collaboration with Azure B2B
 
TechNet Conference 2013 Berlin-Wie Sie Office 365 mit Windows Azure steuern b...
TechNet Conference 2013 Berlin-Wie Sie Office 365 mit Windows Azure steuern b...TechNet Conference 2013 Berlin-Wie Sie Office 365 mit Windows Azure steuern b...
TechNet Conference 2013 Berlin-Wie Sie Office 365 mit Windows Azure steuern b...
 
Integrating your on-premises Active Directory with Azure and Office 365
Integrating your on-premises Active Directory with Azure and Office 365Integrating your on-premises Active Directory with Azure and Office 365
Integrating your on-premises Active Directory with Azure and Office 365
 
O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur...
O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur...O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur...
O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur...
 
Spsct15 power shell_csom - amit vasu
Spsct15 power shell_csom - amit vasuSpsct15 power shell_csom - amit vasu
Spsct15 power shell_csom - amit vasu
 
Securing SharePoint Apps with OAuth
Securing SharePoint Apps with OAuthSecuring SharePoint Apps with OAuth
Securing SharePoint Apps with OAuth
 
ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2
 
Azure AD B2C An Introduction - DogFoodCon 2018
Azure AD B2C An Introduction - DogFoodCon 2018Azure AD B2C An Introduction - DogFoodCon 2018
Azure AD B2C An Introduction - DogFoodCon 2018
 
Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory
 

Viewers also liked

Spsbe2016 extend your office 365 environement to cross-platform apps
Spsbe2016   extend your office 365 environement to cross-platform appsSpsbe2016   extend your office 365 environement to cross-platform apps
Spsbe2016 extend your office 365 environement to cross-platform appsAlexander Meijers
 
Design a share point 2013 architecture – the basics
Design a share point 2013 architecture – the basicsDesign a share point 2013 architecture – the basics
Design a share point 2013 architecture – the basicsAlexander Meijers
 
UX Myths: Knowing them, avoiding them
UX Myths: Knowing them, avoiding themUX Myths: Knowing them, avoiding them
UX Myths: Knowing them, avoiding themBryan Web Agency
 
SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365
SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365
SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365Scott Hoag
 
Opinion - Choosing the right chart
Opinion - Choosing the right chartOpinion - Choosing the right chart
Opinion - Choosing the right chartOso Adinugroho
 
Achmea technight - HoloLens development
Achmea technight  - HoloLens developmentAchmea technight  - HoloLens development
Achmea technight - HoloLens developmentAlexander Meijers
 
Java Reflection Explained Simply
Java Reflection Explained SimplyJava Reflection Explained Simply
Java Reflection Explained SimplyCiaran McHale
 
Global Big Data Conference Sept 2014 AWS Kinesis Spark Streaming Approximatio...
Global Big Data Conference Sept 2014 AWS Kinesis Spark Streaming Approximatio...Global Big Data Conference Sept 2014 AWS Kinesis Spark Streaming Approximatio...
Global Big Data Conference Sept 2014 AWS Kinesis Spark Streaming Approximatio...Chris Fregly
 
QA in Digitalized World Kari Kakkonen WCSQ
QA in Digitalized World Kari Kakkonen WCSQQA in Digitalized World Kari Kakkonen WCSQ
QA in Digitalized World Kari Kakkonen WCSQKari Kakkonen
 
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NFDatabase Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NFOum Saokosal
 
Ingesting Drone Data into Big Data Platforms
Ingesting Drone Data into Big Data Platforms Ingesting Drone Data into Big Data Platforms
Ingesting Drone Data into Big Data Platforms Timothy Spann
 
Monochrome Awards 2016: Winners Wildlife
Monochrome Awards 2016: Winners Wildlife Monochrome Awards 2016: Winners Wildlife
Monochrome Awards 2016: Winners Wildlife maditabalnco
 
Just Jobs, helping blue collared jobs to carve a place in India
Just Jobs, helping blue collared jobs to carve a place in IndiaJust Jobs, helping blue collared jobs to carve a place in India
Just Jobs, helping blue collared jobs to carve a place in IndiaJust.Jobs
 
Definitive Guide to Local SEO Ranking Factors - SMX West 2017
Definitive Guide to Local SEO Ranking Factors - SMX West 2017Definitive Guide to Local SEO Ranking Factors - SMX West 2017
Definitive Guide to Local SEO Ranking Factors - SMX West 2017Daniel Leibson
 
Build business applications with HoloLens and Cloud
Build business applications with HoloLens and CloudBuild business applications with HoloLens and Cloud
Build business applications with HoloLens and CloudAlexander Meijers
 
Advertising Insights through Segmented Analytics - Adobe Summit 2017
Advertising Insights through Segmented Analytics  - Adobe Summit 2017Advertising Insights through Segmented Analytics  - Adobe Summit 2017
Advertising Insights through Segmented Analytics - Adobe Summit 2017Chris Haleua
 

Viewers also liked (20)

Spsbe2016 extend your office 365 environement to cross-platform apps
Spsbe2016   extend your office 365 environement to cross-platform appsSpsbe2016   extend your office 365 environement to cross-platform apps
Spsbe2016 extend your office 365 environement to cross-platform apps
 
Design a share point 2013 architecture – the basics
Design a share point 2013 architecture – the basicsDesign a share point 2013 architecture – the basics
Design a share point 2013 architecture – the basics
 
UX Myths: Knowing them, avoiding them
UX Myths: Knowing them, avoiding themUX Myths: Knowing them, avoiding them
UX Myths: Knowing them, avoiding them
 
Visualization in design
Visualization in designVisualization in design
Visualization in design
 
SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365
SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365
SPIntersection 2016 - MICROSOFT CLOUD IDENTITIES IN AZURE AND OFFICE 365
 
Opinion - Choosing the right chart
Opinion - Choosing the right chartOpinion - Choosing the right chart
Opinion - Choosing the right chart
 
Achmea technight - HoloLens development
Achmea technight  - HoloLens developmentAchmea technight  - HoloLens development
Achmea technight - HoloLens development
 
Powerlabs Profile
Powerlabs ProfilePowerlabs Profile
Powerlabs Profile
 
Java Reflection Explained Simply
Java Reflection Explained SimplyJava Reflection Explained Simply
Java Reflection Explained Simply
 
Global Big Data Conference Sept 2014 AWS Kinesis Spark Streaming Approximatio...
Global Big Data Conference Sept 2014 AWS Kinesis Spark Streaming Approximatio...Global Big Data Conference Sept 2014 AWS Kinesis Spark Streaming Approximatio...
Global Big Data Conference Sept 2014 AWS Kinesis Spark Streaming Approximatio...
 
Apache Spark & Streaming
Apache Spark & StreamingApache Spark & Streaming
Apache Spark & Streaming
 
QA in Digitalized World Kari Kakkonen WCSQ
QA in Digitalized World Kari Kakkonen WCSQQA in Digitalized World Kari Kakkonen WCSQ
QA in Digitalized World Kari Kakkonen WCSQ
 
IdP, SAML, OAuth
IdP, SAML, OAuthIdP, SAML, OAuth
IdP, SAML, OAuth
 
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NFDatabase Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
 
Ingesting Drone Data into Big Data Platforms
Ingesting Drone Data into Big Data Platforms Ingesting Drone Data into Big Data Platforms
Ingesting Drone Data into Big Data Platforms
 
Monochrome Awards 2016: Winners Wildlife
Monochrome Awards 2016: Winners Wildlife Monochrome Awards 2016: Winners Wildlife
Monochrome Awards 2016: Winners Wildlife
 
Just Jobs, helping blue collared jobs to carve a place in India
Just Jobs, helping blue collared jobs to carve a place in IndiaJust Jobs, helping blue collared jobs to carve a place in India
Just Jobs, helping blue collared jobs to carve a place in India
 
Definitive Guide to Local SEO Ranking Factors - SMX West 2017
Definitive Guide to Local SEO Ranking Factors - SMX West 2017Definitive Guide to Local SEO Ranking Factors - SMX West 2017
Definitive Guide to Local SEO Ranking Factors - SMX West 2017
 
Build business applications with HoloLens and Cloud
Build business applications with HoloLens and CloudBuild business applications with HoloLens and Cloud
Build business applications with HoloLens and Cloud
 
Advertising Insights through Segmented Analytics - Adobe Summit 2017
Advertising Insights through Segmented Analytics  - Adobe Summit 2017Advertising Insights through Segmented Analytics  - Adobe Summit 2017
Advertising Insights through Segmented Analytics - Adobe Summit 2017
 

Similar to Implement Azure AD authentication with Xamarin cross-platform apps

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
 
Community call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platformCommunity call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platformMicrosoft 365 Developer
 
Microsoft identity manoj mittal
Microsoft identity manoj mittalMicrosoft identity manoj mittal
Microsoft identity manoj mittalManoj Mittal
 
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in AzureHeading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in AzureXenox Garavito
 
Forge - DevCon 2016: From Desktop to the Cloud with Forge
Forge - DevCon 2016: From Desktop to the Cloud with ForgeForge - DevCon 2016: From Desktop to the Cloud with Forge
Forge - DevCon 2016: From Desktop to the Cloud with ForgeAutodesk
 
Intro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStarIntro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStarAmazon Web Services
 
Windows azure learning poster
Windows azure learning posterWindows azure learning poster
Windows azure learning posterMahmoud Moussa
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...Alexander Meijers
 
From desktop to the cloud with forge
From desktop to the cloud with forgeFrom desktop to the cloud with forge
From desktop to the cloud with forgefpm2015
 
Azure API Apps
Azure API AppsAzure API Apps
Azure API AppsBizTalk360
 
Connector API Apps
Connector API AppsConnector API Apps
Connector API AppsBizTalk360
 
Leveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App DevelopmentLeveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App DevelopmentWinWire Technologies Inc
 
"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
 
Passwordless Development using Azure Identity
Passwordless Development using Azure IdentityPasswordless Development using Azure Identity
Passwordless Development using Azure IdentitySarah Dutkiewicz
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, augustTokyo Azure Meetup
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustKanio Dimitrov
 
How to use Microsoft Graph in your applications
How to use Microsoft Graph in your applicationsHow to use Microsoft Graph in your applications
How to use Microsoft Graph in your applicationsMohamed Ashiq Faleel
 
Getting started with development in azure
Getting started with development in azureGetting started with development in azure
Getting started with development in azureJasjit Chopra
 

Similar to Implement Azure AD authentication with Xamarin cross-platform apps (20)

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
 
Community call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platformCommunity call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platform
 
Fire up your mobile app!
Fire up your mobile app!Fire up your mobile app!
Fire up your mobile app!
 
Microsoft identity manoj mittal
Microsoft identity manoj mittalMicrosoft identity manoj mittal
Microsoft identity manoj mittal
 
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in AzureHeading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
 
Forge - DevCon 2016: From Desktop to the Cloud with Forge
Forge - DevCon 2016: From Desktop to the Cloud with ForgeForge - DevCon 2016: From Desktop to the Cloud with Forge
Forge - DevCon 2016: From Desktop to the Cloud with Forge
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Intro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStarIntro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStar
 
Windows azure learning poster
Windows azure learning posterWindows azure learning poster
Windows azure learning poster
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...
 
From desktop to the cloud with forge
From desktop to the cloud with forgeFrom desktop to the cloud with forge
From desktop to the cloud with forge
 
Azure API Apps
Azure API AppsAzure API Apps
Azure API Apps
 
Connector API Apps
Connector API AppsConnector API Apps
Connector API Apps
 
Leveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App DevelopmentLeveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App Development
 
"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, ...
 
Passwordless Development using Azure Identity
Passwordless Development using Azure IdentityPasswordless Development using Azure Identity
Passwordless Development using Azure Identity
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, August
 
How to use Microsoft Graph in your applications
How to use Microsoft Graph in your applicationsHow to use Microsoft Graph in your applications
How to use Microsoft Graph in your applications
 
Getting started with development in azure
Getting started with development in azureGetting started with development in azure
Getting started with development in azure
 

More from Alexander Meijers

Microsoft ignite tour - Create an immersive experience with office 365 data ...
Microsoft ignite tour  - Create an immersive experience with office 365 data ...Microsoft ignite tour  - Create an immersive experience with office 365 data ...
Microsoft ignite tour - Create an immersive experience with office 365 data ...Alexander Meijers
 
Microsoft ignite tour empower your workers using remote assist - theater se...
Microsoft ignite tour   empower your workers using remote assist - theater se...Microsoft ignite tour   empower your workers using remote assist - theater se...
Microsoft ignite tour empower your workers using remote assist - theater se...Alexander Meijers
 
O365 and SharePoint Connect - Create an immersive experience with office 365...
O365 and SharePoint Connect  - Create an immersive experience with office 365...O365 and SharePoint Connect  - Create an immersive experience with office 365...
O365 and SharePoint Connect - Create an immersive experience with office 365...Alexander Meijers
 
Modern workplace conference create an immersive experience with office 365 ...
Modern workplace conference   create an immersive experience with office 365 ...Modern workplace conference   create an immersive experience with office 365 ...
Modern workplace conference create an immersive experience with office 365 ...Alexander Meijers
 
Code motion - Extend visualization of microsoft graph data to hololens applic...
Code motion - Extend visualization of microsoft graph data to hololens applic...Code motion - Extend visualization of microsoft graph data to hololens applic...
Code motion - Extend visualization of microsoft graph data to hololens applic...Alexander Meijers
 
Code europe holobasics - develop your mixed reality hololens app with unity...
Code europe   holobasics - develop your mixed reality hololens app with unity...Code europe   holobasics - develop your mixed reality hololens app with unity...
Code europe holobasics - develop your mixed reality hololens app with unity...Alexander Meijers
 
Code europe holoadvanced - building more advanced mixed reality apps for ho...
Code europe   holoadvanced - building more advanced mixed reality apps for ho...Code europe   holoadvanced - building more advanced mixed reality apps for ho...
Code europe holoadvanced - building more advanced mixed reality apps for ho...Alexander Meijers
 
Azure thursday HoloLens and cognitive services a powerful combination
Azure thursday HoloLens and cognitive services a powerful combinationAzure thursday HoloLens and cognitive services a powerful combination
Azure thursday HoloLens and cognitive services a powerful combinationAlexander Meijers
 
It next summit - holobasics - develop your mixed reality hololens app with un...
It next summit - holobasics - develop your mixed reality hololens app with un...It next summit - holobasics - develop your mixed reality hololens app with un...
It next summit - holobasics - develop your mixed reality hololens app with un...Alexander Meijers
 
SharePoint Unite - Build business applications with HoloLens and Cloud
SharePoint Unite - Build business applications with HoloLens and CloudSharePoint Unite - Build business applications with HoloLens and Cloud
SharePoint Unite - Build business applications with HoloLens and CloudAlexander Meijers
 
HoloLens inspiration session
HoloLens inspiration sessionHoloLens inspiration session
HoloLens inspiration sessionAlexander Meijers
 
Holo basics develop your mixed reality hololens app with unity and visual s...
Holo basics   develop your mixed reality hololens app with unity and visual s...Holo basics   develop your mixed reality hololens app with unity and visual s...
Holo basics develop your mixed reality hololens app with unity and visual s...Alexander Meijers
 
Build your own yammer app @ Collab365
Build your own yammer app @ Collab365Build your own yammer app @ Collab365
Build your own yammer app @ Collab365Alexander Meijers
 
SharePoint 2013 for internet websites
SharePoint 2013 for internet websitesSharePoint 2013 for internet websites
SharePoint 2013 for internet websitesAlexander Meijers
 
Sp24 design a share point 2013 architecture – the basics
Sp24   design a share point 2013 architecture – the basicsSp24   design a share point 2013 architecture – the basics
Sp24 design a share point 2013 architecture – the basicsAlexander Meijers
 
Share point 2013 and sql server 2012 what to choose
Share point 2013 and sql server 2012   what to chooseShare point 2013 and sql server 2012   what to choose
Share point 2013 and sql server 2012 what to chooseAlexander Meijers
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAlexander Meijers
 
Share point unvealed apps in sharepoint 2013
Share point unvealed   apps in sharepoint 2013Share point unvealed   apps in sharepoint 2013
Share point unvealed apps in sharepoint 2013Alexander Meijers
 

More from Alexander Meijers (20)

Microsoft ignite tour - Create an immersive experience with office 365 data ...
Microsoft ignite tour  - Create an immersive experience with office 365 data ...Microsoft ignite tour  - Create an immersive experience with office 365 data ...
Microsoft ignite tour - Create an immersive experience with office 365 data ...
 
Microsoft ignite tour empower your workers using remote assist - theater se...
Microsoft ignite tour   empower your workers using remote assist - theater se...Microsoft ignite tour   empower your workers using remote assist - theater se...
Microsoft ignite tour empower your workers using remote assist - theater se...
 
O365 and SharePoint Connect - Create an immersive experience with office 365...
O365 and SharePoint Connect  - Create an immersive experience with office 365...O365 and SharePoint Connect  - Create an immersive experience with office 365...
O365 and SharePoint Connect - Create an immersive experience with office 365...
 
Modern workplace conference create an immersive experience with office 365 ...
Modern workplace conference   create an immersive experience with office 365 ...Modern workplace conference   create an immersive experience with office 365 ...
Modern workplace conference create an immersive experience with office 365 ...
 
Code motion - Extend visualization of microsoft graph data to hololens applic...
Code motion - Extend visualization of microsoft graph data to hololens applic...Code motion - Extend visualization of microsoft graph data to hololens applic...
Code motion - Extend visualization of microsoft graph data to hololens applic...
 
Code europe holobasics - develop your mixed reality hololens app with unity...
Code europe   holobasics - develop your mixed reality hololens app with unity...Code europe   holobasics - develop your mixed reality hololens app with unity...
Code europe holobasics - develop your mixed reality hololens app with unity...
 
Code europe holoadvanced - building more advanced mixed reality apps for ho...
Code europe   holoadvanced - building more advanced mixed reality apps for ho...Code europe   holoadvanced - building more advanced mixed reality apps for ho...
Code europe holoadvanced - building more advanced mixed reality apps for ho...
 
Azure thursday HoloLens and cognitive services a powerful combination
Azure thursday HoloLens and cognitive services a powerful combinationAzure thursday HoloLens and cognitive services a powerful combination
Azure thursday HoloLens and cognitive services a powerful combination
 
It next summit - holobasics - develop your mixed reality hololens app with un...
It next summit - holobasics - develop your mixed reality hololens app with un...It next summit - holobasics - develop your mixed reality hololens app with un...
It next summit - holobasics - develop your mixed reality hololens app with un...
 
SharePoint Unite - Build business applications with HoloLens and Cloud
SharePoint Unite - Build business applications with HoloLens and CloudSharePoint Unite - Build business applications with HoloLens and Cloud
SharePoint Unite - Build business applications with HoloLens and Cloud
 
HoloLens inspiration session
HoloLens inspiration sessionHoloLens inspiration session
HoloLens inspiration session
 
Holo basics develop your mixed reality hololens app with unity and visual s...
Holo basics   develop your mixed reality hololens app with unity and visual s...Holo basics   develop your mixed reality hololens app with unity and visual s...
Holo basics develop your mixed reality hololens app with unity and visual s...
 
Build your own yammer app @ Collab365
Build your own yammer app @ Collab365Build your own yammer app @ Collab365
Build your own yammer app @ Collab365
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
SharePoint 2013 for internet websites
SharePoint 2013 for internet websitesSharePoint 2013 for internet websites
SharePoint 2013 for internet websites
 
Build you own yammer app
Build you own yammer appBuild you own yammer app
Build you own yammer app
 
Sp24 design a share point 2013 architecture – the basics
Sp24   design a share point 2013 architecture – the basicsSp24   design a share point 2013 architecture – the basics
Sp24 design a share point 2013 architecture – the basics
 
Share point 2013 and sql server 2012 what to choose
Share point 2013 and sql server 2012   what to chooseShare point 2013 and sql server 2012   what to choose
Share point 2013 and sql server 2012 what to choose
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-apps
 
Share point unvealed apps in sharepoint 2013
Share point unvealed   apps in sharepoint 2013Share point unvealed   apps in sharepoint 2013
Share point unvealed apps in sharepoint 2013
 

Recently uploaded

A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 

Recently uploaded (20)

A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 

Implement Azure AD authentication with Xamarin cross-platform apps

  • 1. Implementation of Azure Active Directory authentication with cross-platform development Alexander Meijers | Lead Architect | April 21st, 2016
  • 2. Why? – ADAL Xamarin – Steps Demo - Wrap up!
  • 3. Why? • Securing your business applications • Access resources like Office 365, Yammer and Microsoft Graph • You don’t need to have extensive knowledge of authentication • Focus on building your app
  • 4. Active Directory Authentication Library • Enables developers to easily authenticate users against the cloud or on- premises AD • It handles mostly all complexity of the authentication • Returns access tokens to execute secure API calls • Many features like • Handles the login screen (including your organization page) • Asynchronous support • Configurable token cache for storing access and refresh tokens • Automatic token refresh when access token expires • Available on a variety of platforms like .NET, JavaScript, OSX, iOS, Android and node.js
  • 5. Xamarin [‘zæmərɪn] • Allows developers using Visual Studio and C# shared codebase to create cross-platform applications • Support of platforms as iOS, Android, Windows 8 and Windows 10 • Acquired by Microsoft on February 24th 2016 • Use Portable Class Libraries or Shared Asset Projects to write code once for all platforms • Possible to write platform specific code
  • 6. Steps • Register your application in Azure AD • Setup Xamarin project • Implement ADAL • Create a login page • Implement code for accessing Microsoft Groups
  • 7. Register your application in Azure AD • Specify name, type of application and redirect URL(s) • Select the permissions to other applications • Client ID is generated • Client ID and Redirect URL combination is used during authentication
  • 8. Setup Xamarin project • Create a Xamarin project • Since February 2016 it is possible to create Universal Windows app • Use Xamarin.Forms Portable project • Remove any not used projects • Install the NuGet package Microsoft.IndentityModel.Clients.ActiveDirectory • V3.9.302111717-alpha
  • 9. Authenticate with ADAL AuthenticationContext ac = new AuthenticationContext(string authority); • authority  URL of the authority • Calling https://login.microsoftonline.com/common without the tenant id will allow your app to be multi-tenant AuthenticationResult authResult = AcquireTokenAsync(string resource, string clientId, Uri redirectUri, IPlatformParameters parameters)); • resource  the URL of the requested resource • clientId and redirectUri  Azure AD registration • parameters  Platform specific parameters • Attempts to return a token for the requested resource based on caching or refreshing old tokens • If necessary an Azure AD sign page is shown to acquire a request token
  • 10. PlatformParameters Platform Parameter(s) Value iOS Reference to a UIViewController UIApplication.SharedApplication.KeyWindow.RootView Controller Android Reference to an Activity (Activity)Forms.Context Remark: You will need to override the OnActivityResult method in MainActivity.cs and call the WebAuthenticationBrokerContinuationHelper class. Windows Phone No parameters N/A Windows 10 (Universal) PromptBehavior, OrganizationOnly PromptBehavior.Auto, false
  • 11. Implement ADAL • ADALAuthentication class • Contains the logic for authentication with ADAL • IADALAuthenticator interface • Implement the interface per platform to provide the platform specific PlatformParameters
  • 12. Implement the IADALInterface • Implement the interface for iOS • Implement the interface for Universal Windows
  • 13. Create a login page • Use a Xaml forms content page • Place a (login) button on the page • Use DependencyService.Get<>(…) method to retrieve an instance of that interface within the current platform • Authenticate and request access to Microsoft Graph using the resource URL and the information you got from your Azure AD registration
  • 14. Implement code for accessing Microsoft Groups • Use the access token you got from your authentication call • Define a request based on • Get= https://graph.microsoft.com/v1.0/groups • Application/json • Bearer = access token • Use NuGet package NewtonSoft.json
  • 15. Demo time “Let’s hope the demo gods are with us”
  • 16. Wrap up! • ADAL allows you to easily implement authentication in your cross- platform application • Be aware of your implementation when using a PCL. Platform specific code is not allowed in your PCL • PlatformParameters differ per platform • For a complete walkthrough check my post http://www.appzinside.com/2016/02/22/implement-adal-for-cross- platform-xamarin-applications/