Office 365 Platform Flexible Tools Each Office 365
Office 365 Platform Flexible Tools
• • • Each Office 365 Workload API required different Authentication
Sign-On experience using Organizational Account Combined Consent Across all Office 365 APIs
https: //sessionpicker. net • • • Sign-Up using OAuth 2 Authorization Flows Admin and User consent-able permissions Sign-In can also use Open. ID Connect in future Request to authorization endpoint: client_id, redirect_uri, response_type=code Request to authorization endpoint: client_id, redirect. Uri, response_type=code prompt=admin_consent
AAD OAuth 2 server Authorization/Token Issuing endpoints App Authorization Request for Exchange API endpoint User Login & Consent User Code For Exchange API endpoint Use Code to get Exchange API Access. Token Response Call API with Token Use refresh token to get Share. Point API Access. Token Response Call API with Token Office 365 Exchange API endpoint Office 365 Share. Point API endpoint
§ § § § Application only needs to maintain single Refresh. Token
Claim Tenant ID [tid] UPN [upn] Example Intended Purpose 09 f 9 ea 02 -9 be 8 -4597 -86 b 9 -32935 a 17723 e Immutable tenant identifier mattleib@imgeeky. ccsctp. net Display only First Name [given_name] Matthias Display only Last Name [family_name] Leibmann Display only Object ID [oid] b 6 e 5 ea 27 -e 04 a-49 b 6 -9677 -e 404 d 87 d 0 b 9 e Immutable security identifier • • Go here for more information on MSDN 15
• • • *Features are dependent on platform, see ADAL documentation for more information
1. Register application with Azure AD in your Dev tenant. Requires tenant with an Azure subscription and O 365 subscription. 2. Configure your application registration with the permissions it needs, using Azure Management Portal 3. Build app code – decide on user sign up, admin sign up or both. Use OAuth flow for sign up, and get back info on the signed up user/tenant and store in your app profile database. 4. Test consent flow using a set of test directory tenants (easily created) 5. Test revocation for admin and user (through the app access panel – coming soon) 4. Deploy and maintain Visual Studio Tooling available to integrate apps with AAD and Office 365 APIs
• • https: //outlook. office 365. com/EWS/OData /$metadata • https: //outlook. office 365. com/EWS/ODATA/Users(‘rohitag@Microsoft. com’)/ https: //outlook. office 365. com/EWS/ODATA/Me
https: //outlook. office 365. com/ews/odata/
• • Entity Calendar. Group Calendar Collection Calendar. Groups Calendars Actions Events CRUD, Accept, Decline, Tentatively. Accept Attachments CRUD • https: //outlook. office 365. com/EWS/OData/Me/Calendar/Events? $top=1
• • Entity Folder Message Attachment Collection Folders Actions CRUD, Copy, Move Messages Attachments CRUD, Copy, Move Reply, Reply. All, Forward, Send Create. Reply, Create. Reply. All, Create. Forward CRUD • https: //outlook. office 365. com/EWS/OData/Me/Inbox/Messages? $top=1
• • Entity Collection Contact. Folders Contacts Actions CRUD • https: //outlook. office 365. com/EWS/OData/Me/Contact. Folders('Contacts')/Contac ts
• https: //github. com/officedev
Scenario URL Get 5 messages from Inbox https: //outlook. office 365. com/EWS/OData/Me/Inbox/Messages? $top= 5 Get the next 10 messages https: //outlook. office 365. com/EWS/OData/Me/Inbox/Messages? $top= 10&$skip=5 Get top 10 messages sorted by Date. Time. Created https: //outlook. office 365. com/EWS/OData/Me/Inbox/Messages? $top= 10&$skip=10&$orderby=Date. Time. Created Get selective properties on messages https: //outlook. office 365. com/EWS/OData/Me/Inbox/Messages? $top= 5&$select=From, Date. Time. Created, Subject Get Events starting after a particular Date. Time https: //outlook. office 365. com/EWS/OData/Me/Events? $top=5&$select =Subject, Start, End&$filter=Start ge 2014 -03 -04 T 20: 00 Z Get Contacts where Display Name contains ‘Rohit’ https: //outlook. office 365. com/EWS/OData/Me/Contacts? $top=10&$filt er=contains(Display. Name, ’Rohit’)
Auth to Office 365 APIs § Mail, Calendar, Contacts Rest API § §
Auth to Office 365 APIs Mail, Calendar, Contacts Rest API § § Building Line of Business apps for Outlook, Web and Mobile devices Experts Unplugged: Exchange Extensibility What's New in Authentication for Outlook 2013 § Overview of the Common Consent Integration Framework How to integrate O 365 with a web server app using Common Consent Framework http: //code. msdn. microsoft. com/Office-365 -APIs-Get-d 75 d 1 c 8 a http: //code. msdn. microsoft. com/Office-365 -APIs-Get-41 eebcdf § Using the Mail, Calendar, and Contact REST APIs to work with emails, calendar items, and contacts ODATA Reference and libraries Android SDK http: //code. msdn. microsoft. com/Office-365 -APIs. Create-a-7590 f 7 f 1 AAD: http: //msdn. microsoft. com/aad http: // msdn. microsoft. com/enus/library/windowsazure/dn 151135. aspx Android i. OS Feedback mattleib@microsoft. com, rohitag@microsoft. com
Explore articles Connect Office. SPDev. User. Voice. Com Solve your roadblocks on Stack. Overflow [Office] and [Share. Point] Build Office Dev Tools for Visual Studio 2013 and Office 365 API Tools for Visual Studio 2013
- Slides: 40