SlideShare a Scribd company logo
Employee Cross
Platform
Applications
With WAAD, Xamarin and OAuth2
27 Feb 2014
Page
A User Story
As Joe, the miner,
I want to submit my timesheets on my phone, in the pub,
So I can maximise my fun in my time off.
/ Copyright ©2014 by Readify Pty Ltd2
Page
Offline Storage
/ Copyright ©2014 by Readify Pty Ltd3
Page
Bring Your Own Device
/ Copyright ©2014 by Readify Pty Ltd4
Page
Might not be a VPN
/ Copyright ©2014 by Readify Pty Ltd5
Page
Logons……..
/ Copyright ©2014 by Readify Pty Ltd6
Page
Agenda
› Windows Azure Active Directory
› OAuth2
› Securing Web API with WAAD / OAuth2
› Xamarin.Auth (and tweaks!)
› Portable Class Libraries
› Xamarin.Android / ios
/ Copyright ©2014 by Readify Pty Ltd7
Page
“Our Time is short,
but our challenges
are many”
/ Copyright ©2014 by Readify Pty Ltd8
Graeme Foster, 22nd February 2014
Page
Credentials in the Cloud
›More User Databases
›ADFS2
›WAAD Dir Sync
/ Copyright ©2014 by Readify Pty Ltd9
Page
Windows Azure
Active Directory
/ Copyright ©2014 by Readify Pty Ltd10
Page
Recap
› Azure Active Directory Management Portal
› Users
› Groups
› Applications
› Endpoints
› Graph API
/ Copyright ©2014 by Readify Pty Ltd11
Page
Auth Options
›WS-Fed / SAMLP - Mobilesupport limited
›OAuth2– Widelysupported. Thefuture. Not an
authentication protocol
›Open-Id Connect- Aproper authentication
protocol built onOAuth2
/ Copyright ©2014 by Readify Pty Ltd12
Page
OAuth2 Code Grant Flow
/ Copyright ©2014 by Readify Pty Ltd
13
HTTP GET …/authorize?
client_id=12345&
resource=TimesheetAPI&
response_type=code&
replyurl=somewhere.com&
state=asdhj123
302 Redirect
somewehere.com?
code=4375983745989873&
state=asdhj123
HTTP GET …/timesheets/1234
Authorization:
Bearer retdbcsdurykjsdvbzj
200 OK
token=retdbcsdurykjsdvbzj
HTTP POST…/token
client_id=12345
code=4375983745989873
grant_type=authorization_code
client_secret=??????
200 OK
{timesheets: [ {… } ] }
Page
OAuth2 Implicit Flow
› Made for Mobile Devices
› Sends an access token straight back to the device
› Requires no client secret
› BUT
› It’s not how WAAD for Native Clients works
/ Copyright ©2014 by Readify Pty Ltd14
Page
OAuth2 – more details
› Bearer Tokens mandate SSL.
› WAAD token is a base-64 encoded JSON Web Token
› It is signed by the Authorisation Server
› Token’s have a limited life-span.
› Refresh token’s are used to get new token’s
/ Copyright ©2014 by Readify Pty Ltd15
Page
Obtaining an
OAuth2 Access
Token
/ Copyright ©2014 by Readify Pty Ltd16
Page
Secure Web API
using OAuth2 /
WAAD
/ Copyright ©2014 by Readify Pty Ltd17
Page
Recap
› We created a new Web-API project
› We added Application entries in WAAD
› Template did this automatically, but easy to do
manually
› Used an OWIN Plug-in to inject OAuth2 Bearer Token
authorisation
› ClaimsPrincipal appeared on thread
/ Copyright ©2014 by Readify Pty Ltd18
Page
Native App
› Pros and Cons are out-of-scope. Let’s just assume we
have to go Native!
› Try to do only UI in the Platform specific app
› Use a PCL to contain “business logic”
/ Copyright ©2014 by Readify Pty Ltd19
Page
Portable Class Libraries
› Simple way of saying “Lowest Common Denominator
set of frameworks for a range of devices”
› Compile to standard IL
› …please can I have “Profile 78”
› Supports Async / Await
› Runs on Xamarin Android / ios / windows phone 8
/ Copyright ©2014 by Readify Pty Ltd20
Page
Portable Class Libraries
› No license restrictions around Xamarin any more
› Nuget packages for things like HttpClient
› Make it easier to create “sans UI” shared libraries
/ Copyright ©2014 by Readify Pty Ltd21
Page
Shared PCL
ViewModel
library
/ Copyright ©2014 by Readify Pty Ltd22
Page
OAuth2 in Xamarin
› MS have native libraries
› Creating Xamarin bindings is an option
› Auth0 – abstracts OAuth2 implementations
› Xamarin.Auth – simple open-source library
/ Copyright ©2014 by Readify Pty Ltd23
Page
Xamarin.Auth
› Almost great
› Caters for Google / Facebook / Twitter (what more
could you want!)
› Azure Active Directory OAuth2 is slightly out-of-the-
ordinary
› Required tweaking to work
› Wanted to follow 302 redirects…
/ Copyright ©2014 by Readify Pty Ltd24
Page
WAAD OAuth2
Client in Xamarin
/ Copyright ©2014 by Readify Pty Ltd25
Page
Recap
› Registered a Client Application in WAAD
› Used VS / Xamarin Integration
› Get to use R#!
› Android Emulators are SLOW!
› Geny Motion Android Emulator
› Used Xamarin Build Host to debug into ios App
/ Copyright ©2014 by Readify Pty Ltd26
Page
Achivements Unlocked
› Corporate Credentials in the Cloud
› An API which is secured by WAAD
› A shared code library containing the guts of the Client
App
› An Android and ios native client that can access the API
/ Copyright ©2014 by Readify Pty Ltd27
Page
References
› http://www.cloudidentity.com/blog/2013/07/23/securing-a-web-api-with-windows-azure-ad-and-katana/
› http://xamarin.com/
› http://oauth.net/2/
› http://openid.net/connect/
› http://www.windowsazure.com/en-us/services/active-directory/
› http://www.google.com
› https://github.com/xamarin/Xamarin.Auth(forkatgraemefoster@github)
› http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html
› http://www.genymotion.com/
› http://www.nuget.org/packages/Microsoft.Owin.Security.ActiveDirectory
/ Copyright ©2014 by Readify Pty Ltd28
Page
Contact
graeme.foster@readify.net
http://gograemefoster.blogspot.com
+61 (416) 848-234
@graefoster
/ Copyright ©2014 by Readify Pty Ltd29
Thank you

More Related Content

Viewers also liked

Oficina HTML5 + CSS3
Oficina HTML5 + CSS3Oficina HTML5 + CSS3
Oficina HTML5 + CSS3
fredmosc
 
Propuesta(1)
Propuesta(1)Propuesta(1)
Propuesta(1)
USAT
 
Cap ii tema_ii_diagnostico_y_tratamiento_ebola
Cap ii tema_ii_diagnostico_y_tratamiento_ebolaCap ii tema_ii_diagnostico_y_tratamiento_ebola
Cap ii tema_ii_diagnostico_y_tratamiento_ebola
sonia reyes castro
 
TRABAJO 31
TRABAJO 31TRABAJO 31
TRABAJO 31
Patricio Medina
 
Razas 1
Razas 1Razas 1
Razas 1
mapatumo22
 
Undangan spm sekda
Undangan spm sekdaUndangan spm sekda
Undangan spm sekda
Gusti Perdana
 
Angular – Say Goodbye to Javascript Soup
Angular – Say Goodbye to Javascript SoupAngular – Say Goodbye to Javascript Soup
Angular – Say Goodbye to Javascript Soup
Graeme Foster
 
Ringkasan materi ipa kelas 3
Ringkasan materi ipa kelas 3Ringkasan materi ipa kelas 3
Ringkasan materi ipa kelas 3Farohhh26
 
09巽卦pdf
09巽卦pdf09巽卦pdf
09巽卦pdfa5589389
 
Dolor lumbar-parte-4
Dolor lumbar-parte-4Dolor lumbar-parte-4
Dolor lumbar-parte-4
DIEGODAS
 
ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀMĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
ThanCoi20102202
 
Lista de cotejo k(1)
Lista de cotejo k(1)Lista de cotejo k(1)
Lista de cotejo k(1)
USAT
 
Welcome to Production
Welcome to ProductionWelcome to Production
Welcome to Production
Graeme Foster
 

Viewers also liked (13)

Oficina HTML5 + CSS3
Oficina HTML5 + CSS3Oficina HTML5 + CSS3
Oficina HTML5 + CSS3
 
Propuesta(1)
Propuesta(1)Propuesta(1)
Propuesta(1)
 
Cap ii tema_ii_diagnostico_y_tratamiento_ebola
Cap ii tema_ii_diagnostico_y_tratamiento_ebolaCap ii tema_ii_diagnostico_y_tratamiento_ebola
Cap ii tema_ii_diagnostico_y_tratamiento_ebola
 
TRABAJO 31
TRABAJO 31TRABAJO 31
TRABAJO 31
 
Razas 1
Razas 1Razas 1
Razas 1
 
Undangan spm sekda
Undangan spm sekdaUndangan spm sekda
Undangan spm sekda
 
Angular – Say Goodbye to Javascript Soup
Angular – Say Goodbye to Javascript SoupAngular – Say Goodbye to Javascript Soup
Angular – Say Goodbye to Javascript Soup
 
Ringkasan materi ipa kelas 3
Ringkasan materi ipa kelas 3Ringkasan materi ipa kelas 3
Ringkasan materi ipa kelas 3
 
09巽卦pdf
09巽卦pdf09巽卦pdf
09巽卦pdf
 
Dolor lumbar-parte-4
Dolor lumbar-parte-4Dolor lumbar-parte-4
Dolor lumbar-parte-4
 
ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀMĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
 
Lista de cotejo k(1)
Lista de cotejo k(1)Lista de cotejo k(1)
Lista de cotejo k(1)
 
Welcome to Production
Welcome to ProductionWelcome to Production
Welcome to Production
 

Similar to Employee Facing Cross Platform Mobile Apps

Azure Mobile Services .NET Backend
Azure Mobile Services .NET BackendAzure Mobile Services .NET Backend
Azure Mobile Services .NET Backend
Filip Ekberg
 
Sydney 2015 Azure bootcamp PaaS presentation
Sydney 2015 Azure bootcamp PaaS presentationSydney 2015 Azure bootcamp PaaS presentation
Sydney 2015 Azure bootcamp PaaS presentation
Aaron Saikovski
 
Xamarin & Azure - BFF, Really?
Xamarin & Azure - BFF, Really?Xamarin & Azure - BFF, Really?
Xamarin & Azure - BFF, Really?
Benjamin Tam
 
Azure Sydney 2015 BootCamp Architecture Presentation
Azure Sydney 2015 BootCamp Architecture PresentationAzure Sydney 2015 BootCamp Architecture Presentation
Azure Sydney 2015 BootCamp Architecture Presentation
Aaron Saikovski
 
Enterprise Single Sign On
Enterprise Single Sign On Enterprise Single Sign On
Enterprise Single Sign On
WSO2
 
Running open source PHP applications on you IBM i
Running open source PHP applications on you IBM iRunning open source PHP applications on you IBM i
Running open source PHP applications on you IBM i
Proximity Group
 
OSS Tools: Creating a Reverse Engineering Plug-in for r2frida
OSS Tools: Creating a Reverse Engineering Plug-in for r2fridaOSS Tools: Creating a Reverse Engineering Plug-in for r2frida
OSS Tools: Creating a Reverse Engineering Plug-in for r2frida
NowSecure
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
Hiroshi SHIBATA
 
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the ProxyCloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Maki Toshio
 
Cross platform mobile apps using rhomobile and jquery mobile
Cross platform mobile apps using rhomobile and jquery mobileCross platform mobile apps using rhomobile and jquery mobile
Cross platform mobile apps using rhomobile and jquery mobile
SPRITLE SOFTWARE PRIVATE LIMIT ED
 
Zetta: An API First Platform
Zetta: An API First PlatformZetta: An API First Platform
Zetta: An API First Platform
API Meetup
 
Automation in iOS development
Automation in iOS developmentAutomation in iOS development
Automation in iOS development
Cong Nguyen
 
Data Con LA 2022 Keynote
Data Con LA 2022 KeynoteData Con LA 2022 Keynote
Data Con LA 2022 Keynote
Data Con LA
 
OAuth 101 & Secure APIs 2012 Cloud Identity Summit
OAuth 101 & Secure APIs 2012 Cloud Identity SummitOAuth 101 & Secure APIs 2012 Cloud Identity Summit
OAuth 101 & Secure APIs 2012 Cloud Identity Summit
Brian Campbell
 
Qtc managed-runtimes
Qtc managed-runtimesQtc managed-runtimes
Qtc managed-runtimes
Robert-Emmanuel Mayssat
 
Building Node.js applications for Microsoft Azure cloud
Building Node.js applications for Microsoft Azure cloudBuilding Node.js applications for Microsoft Azure cloud
Building Node.js applications for Microsoft Azure cloud
Faculty of Computer Science
 
Oauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsOauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted apps
James Tramel
 
HTML5 WebSocket for the Real-Time Web and the Internet of Things
HTML5 WebSocket for the Real-Time Weband the Internet of ThingsHTML5 WebSocket for the Real-Time Weband the Internet of Things
HTML5 WebSocket for the Real-Time Web and the Internet of Things
Peter Moskovits
 
Programming WebSockets with Glassfish and Grizzly
Programming WebSockets with Glassfish and GrizzlyProgramming WebSockets with Glassfish and Grizzly
Programming WebSockets with Glassfish and Grizzly
C2B2 Consulting
 
SailFin - Adding Presence and Voice to WebApps
SailFin - Adding Presence and Voice to WebAppsSailFin - Adding Presence and Voice to WebApps
SailFin - Adding Presence and Voice to WebApps
Eduardo Pelegri-Llopart
 

Similar to Employee Facing Cross Platform Mobile Apps (20)

Azure Mobile Services .NET Backend
Azure Mobile Services .NET BackendAzure Mobile Services .NET Backend
Azure Mobile Services .NET Backend
 
Sydney 2015 Azure bootcamp PaaS presentation
Sydney 2015 Azure bootcamp PaaS presentationSydney 2015 Azure bootcamp PaaS presentation
Sydney 2015 Azure bootcamp PaaS presentation
 
Xamarin & Azure - BFF, Really?
Xamarin & Azure - BFF, Really?Xamarin & Azure - BFF, Really?
Xamarin & Azure - BFF, Really?
 
Azure Sydney 2015 BootCamp Architecture Presentation
Azure Sydney 2015 BootCamp Architecture PresentationAzure Sydney 2015 BootCamp Architecture Presentation
Azure Sydney 2015 BootCamp Architecture Presentation
 
Enterprise Single Sign On
Enterprise Single Sign On Enterprise Single Sign On
Enterprise Single Sign On
 
Running open source PHP applications on you IBM i
Running open source PHP applications on you IBM iRunning open source PHP applications on you IBM i
Running open source PHP applications on you IBM i
 
OSS Tools: Creating a Reverse Engineering Plug-in for r2frida
OSS Tools: Creating a Reverse Engineering Plug-in for r2fridaOSS Tools: Creating a Reverse Engineering Plug-in for r2frida
OSS Tools: Creating a Reverse Engineering Plug-in for r2frida
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the ProxyCloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
 
Cross platform mobile apps using rhomobile and jquery mobile
Cross platform mobile apps using rhomobile and jquery mobileCross platform mobile apps using rhomobile and jquery mobile
Cross platform mobile apps using rhomobile and jquery mobile
 
Zetta: An API First Platform
Zetta: An API First PlatformZetta: An API First Platform
Zetta: An API First Platform
 
Automation in iOS development
Automation in iOS developmentAutomation in iOS development
Automation in iOS development
 
Data Con LA 2022 Keynote
Data Con LA 2022 KeynoteData Con LA 2022 Keynote
Data Con LA 2022 Keynote
 
OAuth 101 & Secure APIs 2012 Cloud Identity Summit
OAuth 101 & Secure APIs 2012 Cloud Identity SummitOAuth 101 & Secure APIs 2012 Cloud Identity Summit
OAuth 101 & Secure APIs 2012 Cloud Identity Summit
 
Qtc managed-runtimes
Qtc managed-runtimesQtc managed-runtimes
Qtc managed-runtimes
 
Building Node.js applications for Microsoft Azure cloud
Building Node.js applications for Microsoft Azure cloudBuilding Node.js applications for Microsoft Azure cloud
Building Node.js applications for Microsoft Azure cloud
 
Oauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsOauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted apps
 
HTML5 WebSocket for the Real-Time Web and the Internet of Things
HTML5 WebSocket for the Real-Time Weband the Internet of ThingsHTML5 WebSocket for the Real-Time Weband the Internet of Things
HTML5 WebSocket for the Real-Time Web and the Internet of Things
 
Programming WebSockets with Glassfish and Grizzly
Programming WebSockets with Glassfish and GrizzlyProgramming WebSockets with Glassfish and Grizzly
Programming WebSockets with Glassfish and Grizzly
 
SailFin - Adding Presence and Voice to WebApps
SailFin - Adding Presence and Voice to WebAppsSailFin - Adding Presence and Voice to WebApps
SailFin - Adding Presence and Voice to WebApps
 

Employee Facing Cross Platform Mobile Apps

  • 1. Employee Cross Platform Applications With WAAD, Xamarin and OAuth2 27 Feb 2014
  • 2. Page A User Story As Joe, the miner, I want to submit my timesheets on my phone, in the pub, So I can maximise my fun in my time off. / Copyright ©2014 by Readify Pty Ltd2
  • 3. Page Offline Storage / Copyright ©2014 by Readify Pty Ltd3
  • 4. Page Bring Your Own Device / Copyright ©2014 by Readify Pty Ltd4
  • 5. Page Might not be a VPN / Copyright ©2014 by Readify Pty Ltd5
  • 7. Page Agenda › Windows Azure Active Directory › OAuth2 › Securing Web API with WAAD / OAuth2 › Xamarin.Auth (and tweaks!) › Portable Class Libraries › Xamarin.Android / ios / Copyright ©2014 by Readify Pty Ltd7
  • 8. Page “Our Time is short, but our challenges are many” / Copyright ©2014 by Readify Pty Ltd8 Graeme Foster, 22nd February 2014
  • 9. Page Credentials in the Cloud ›More User Databases ›ADFS2 ›WAAD Dir Sync / Copyright ©2014 by Readify Pty Ltd9
  • 10. Page Windows Azure Active Directory / Copyright ©2014 by Readify Pty Ltd10
  • 11. Page Recap › Azure Active Directory Management Portal › Users › Groups › Applications › Endpoints › Graph API / Copyright ©2014 by Readify Pty Ltd11
  • 12. Page Auth Options ›WS-Fed / SAMLP - Mobilesupport limited ›OAuth2– Widelysupported. Thefuture. Not an authentication protocol ›Open-Id Connect- Aproper authentication protocol built onOAuth2 / Copyright ©2014 by Readify Pty Ltd12
  • 13. Page OAuth2 Code Grant Flow / Copyright ©2014 by Readify Pty Ltd 13 HTTP GET …/authorize? client_id=12345& resource=TimesheetAPI& response_type=code& replyurl=somewhere.com& state=asdhj123 302 Redirect somewehere.com? code=4375983745989873& state=asdhj123 HTTP GET …/timesheets/1234 Authorization: Bearer retdbcsdurykjsdvbzj 200 OK token=retdbcsdurykjsdvbzj HTTP POST…/token client_id=12345 code=4375983745989873 grant_type=authorization_code client_secret=?????? 200 OK {timesheets: [ {… } ] }
  • 14. Page OAuth2 Implicit Flow › Made for Mobile Devices › Sends an access token straight back to the device › Requires no client secret › BUT › It’s not how WAAD for Native Clients works / Copyright ©2014 by Readify Pty Ltd14
  • 15. Page OAuth2 – more details › Bearer Tokens mandate SSL. › WAAD token is a base-64 encoded JSON Web Token › It is signed by the Authorisation Server › Token’s have a limited life-span. › Refresh token’s are used to get new token’s / Copyright ©2014 by Readify Pty Ltd15
  • 16. Page Obtaining an OAuth2 Access Token / Copyright ©2014 by Readify Pty Ltd16
  • 17. Page Secure Web API using OAuth2 / WAAD / Copyright ©2014 by Readify Pty Ltd17
  • 18. Page Recap › We created a new Web-API project › We added Application entries in WAAD › Template did this automatically, but easy to do manually › Used an OWIN Plug-in to inject OAuth2 Bearer Token authorisation › ClaimsPrincipal appeared on thread / Copyright ©2014 by Readify Pty Ltd18
  • 19. Page Native App › Pros and Cons are out-of-scope. Let’s just assume we have to go Native! › Try to do only UI in the Platform specific app › Use a PCL to contain “business logic” / Copyright ©2014 by Readify Pty Ltd19
  • 20. Page Portable Class Libraries › Simple way of saying “Lowest Common Denominator set of frameworks for a range of devices” › Compile to standard IL › …please can I have “Profile 78” › Supports Async / Await › Runs on Xamarin Android / ios / windows phone 8 / Copyright ©2014 by Readify Pty Ltd20
  • 21. Page Portable Class Libraries › No license restrictions around Xamarin any more › Nuget packages for things like HttpClient › Make it easier to create “sans UI” shared libraries / Copyright ©2014 by Readify Pty Ltd21
  • 22. Page Shared PCL ViewModel library / Copyright ©2014 by Readify Pty Ltd22
  • 23. Page OAuth2 in Xamarin › MS have native libraries › Creating Xamarin bindings is an option › Auth0 – abstracts OAuth2 implementations › Xamarin.Auth – simple open-source library / Copyright ©2014 by Readify Pty Ltd23
  • 24. Page Xamarin.Auth › Almost great › Caters for Google / Facebook / Twitter (what more could you want!) › Azure Active Directory OAuth2 is slightly out-of-the- ordinary › Required tweaking to work › Wanted to follow 302 redirects… / Copyright ©2014 by Readify Pty Ltd24
  • 25. Page WAAD OAuth2 Client in Xamarin / Copyright ©2014 by Readify Pty Ltd25
  • 26. Page Recap › Registered a Client Application in WAAD › Used VS / Xamarin Integration › Get to use R#! › Android Emulators are SLOW! › Geny Motion Android Emulator › Used Xamarin Build Host to debug into ios App / Copyright ©2014 by Readify Pty Ltd26
  • 27. Page Achivements Unlocked › Corporate Credentials in the Cloud › An API which is secured by WAAD › A shared code library containing the guts of the Client App › An Android and ios native client that can access the API / Copyright ©2014 by Readify Pty Ltd27
  • 28. Page References › http://www.cloudidentity.com/blog/2013/07/23/securing-a-web-api-with-windows-azure-ad-and-katana/ › http://xamarin.com/ › http://oauth.net/2/ › http://openid.net/connect/ › http://www.windowsazure.com/en-us/services/active-directory/ › http://www.google.com › https://github.com/xamarin/Xamarin.Auth(forkatgraemefoster@github) › http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html › http://www.genymotion.com/ › http://www.nuget.org/packages/Microsoft.Owin.Security.ActiveDirectory / Copyright ©2014 by Readify Pty Ltd28

Editor's Notes

  1. Could do this using HTML 5 offline As we’ll see, Sqlite is supported on ios / android / wp8 so we get to use linq goodness down the native route
  2. Could do this using HTML 5 offline As we’ll see, Sqlite is supported on ios / android / wp8 so we get to use linq goodness down the native route
  3. Could do this using HTML 5 offline As we’ll see, Sqlite is supported on ios / android / wp8 so we get to use linq goodness down the native route
  4. Could do this using HTML 5 offline As we’ll see, Sqlite is supported on ios / android / wp8 so we get to use linq goodness down the native route