Martina GromMVP Office 365atwork@magrom
How to (remote) control Office 365 with Azure
EXT401
Toni PohlMVP Client Devatwork@atwork
Agenda
Why remote controlDemo #1 - AADDemo #2 - Office 365 ServicesDeploy to Microsoft Azure
See slides & code at blog.atwork.at
80% of companies need more granular delegation of (self) management
82% of companies reportedly saved money by moving to the cloud, CIO’s want predictable costs
60% of customers want automation for user management to ease processes
99% of users totally love Office 365
Why Office 365? Why automation?
Thats what we experienced and learned from our customers.
Automate Office 365 on your own
Authenticateas entitled user or appfor the individual service
Authenticateas entitled userfor our web portal
Decide what the user may execute in your app
• Create User• Add to Security Group for SPO• Send Welcome email• Provision MySite• Create Welcome Document• Add user information into SPO
list• Mailbox statistics
Prerequisites
Office 365 TenantGet a free one month trial:http://office.microsoft.com/
Microsoft AzureGet a 30 day free trial:http://www.windowsazure.com/en-us/pricing/free-trial/
Visual Studio 2013
How to Access Services
AAD -> Graph API, PowerShellSPO -> CSOM, REST, PowerShellExchange Online -> Managed API, PowerShellLync Online -> SDK, PowerShellNew: Office 365 API
Integrating Applications in Azure Active DirectoryAccess Level Type Description
Single Sign-On
Default permission. The app is enabled for single sign-on with Azure AD, and the user token will contain claims such as the user’s User Principal Name, First and Last Name and unique identifiers.
Single Sign-On, Read Directory Data
Single sign-on plus the ability to read directory data using the Graph API. This allows querying of company, user and group information.
Single Sign-On, Read and Write Directory Data
Single sign-on plus the ability to read and write directory data using the Graph API. This allows querying and writing of company, user, and group information, but does not allow deleting users or groups.
http://msdn.microsoft.com/en-us/library/windowsazure/b08d91fa-6a64-4deb-92f4-f5857add9ed8.aspx#BKMK_AccessLevels
Office 365 API Tools - Previewhttp://visualstudiogallery.msdn.microsoft.com/7e947621-ef93-4de7-93d3-d796c43ba34f
What to use when in Microsoft AzureAccess method Azure Website
$Azure Cloud
Service$$$
AAD
Exchange EWS
Exchange PowerShell
SharePoint CSOM
SharePoint REST
SharePoint PowerShell
Lync SDK
Lync PowerShell
Call 2 Action
Download slide with links and sample code atblog.atwork.at
If you´re interested in a ready to use Office 365 solutiondelegate365.com
Build great solutions with Office 365!
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Graph API LinksWindows Azure Graph APIhttp://code.msdn.microsoft.com/Graph-API-Authenticate-and-53c6cb92/view/SourceCode
GraphAPI Explorerhttps://graphexplorer.cloudapp.net/
MVC Sample App for Windows Azure Active Directory Graphhttp://code.msdn.microsoft.com/windowsazure/Write-Sample-App-for-79e55502
Adding Sign-On to Your Web Application Using Windows Azure ADhttp://msdn.microsoft.com/en-us/library/windowsazure/dn151790.aspx
Group & Role Claims: Use the Graph API …http://www.cloudidentity.com/blog/2013/01/22/group-amp-role-claims-use-the-graph-api-to-get-back-isinrole-and-authorize-in-windows-azure-ad-apps/
MVP Blog – our 4 part serieshttp://blogs.msdn.com/b/mvpawardprogram/archive/2014/01/20/identity-in-your-own-apps-with-windows-azure-active-directory.aspx
ADAL for .netActive Directory Authentication Library (ADAL) v1 for .NET – General Availability!(Vittorio Bertocci)http://www.cloudidentity.com/blog/2013/09/12/active-directory-authentication-library-adal-v1-for-net-general-availability/
ADAL 1.0 and Windows Store Apps (Alex Simons) – coming soonhttp://blogs.technet.com/b/ad/archive/2013/09/12/active-directory-authentication-library-1-0-for-net-ready-for-prime-time.aspx
SharePointSharePoint Online Management Shell (PS) http://www.microsoft.com/en-us/download/details.aspx?id=30359
OAuth and remote apps for SharePointhttp://msdn.microsoft.com/en-us/library/office/apps/fp179932.aspx
Office365ClaimsConnectorhttp://www.codeproject.com/Articles/637378/How-to-Create-a-Windows-8-App-for-SharePoint-Part
OAuth authentication and authorization flow for apps that ask for access permissions on the fly in SharePoint 2013http://msdn.microsoft.com/en-us/library/office/apps/jj687470.aspx
Helper forhttp://json2csharp.com/
ExchangeMicrosoft Exchange Web Services Managed API 2.0http://www.microsoft.com/en-us/download/details.aspx?id=35371
Getting started with the EWS Managed APIhttp://msdn.microsoft.com/en-us/library/dd633626(v=exchg.80).aspx
Connect to Exchange Online Using Remote PowerShellhttp://technet.microsoft.com/en-us/library/jj984289(v=exchg.150).aspx
LyncLync 2013 SDKhttp://www.microsoft.com/en-us/download/details.aspx?id=36824
Lync 2013 SDK documentationhttp://msdn.microsoft.com/en-us/library/office/jj933180(v=office.15).aspx
Windows PowerShell Module for Lync Onlinehttp://www.microsoft.com/en-us/download/details.aspx?id=39366
Lync PowerShellhttp://blogs.office.com/b/office365tech/archive/2013/08/19/remote-powershell-for-lync-online.aspx
Using Windows PowerShell to Manage Lync Onlinehttp://technet.microsoft.com/en-us/library/dn362831.aspx
Office 365 APIOffice 365 APIhttp://visualstudiogallery.msdn.microsoft.com/7e947621-ef93-4de7-93d3-d796c43ba34f
Office 365 ASP.NET MVC and Win8 Samplehttp://code.msdn.microsoft.com/Office-365-APIs-Get-41eebcdf