Lessons learned from Ignite 2015: Microsoft is trying to enable cloud development
Microsoft has recently released new developer tools for Office 365. These advancements make development of an Office 365 customization faster, easier, and cheaper to implement. For customizations that span multiple Office 365 applications, a unified endpoint makes the authentication process much easier while connecting to the Office 365 API. Additionally, a new OAUTH sandbox interface and API Explorer makes query building a breeze.
Currently there are many disparate APIs serving individual Office 365 applications, such as OneDrive, Exchange, and User Profile Service. As a developer creates an Office 365 customizations, often several endpoints are required. For example, one such customization could automatically export email attachments to a user’s OneDrive. In this case, the developer would need to interface with three or four separate endpoints. By unifying endpoints, efficiencies are gained for the developer by needing to write less code since only one endpoint connection would need to be made.
When connecting to each endpoint, OAUTH operations are performed for handling authentication to Office 365 servers. This process follows a pattern of four essential steps: app issues authorization request for a given client ID, the user consents to the permissions request, app issues client secret to get a session access token, then finally the app passes the token and client ID when requesting a resource. Additionally session refresh requests need to be made periodically so that the session does not expire. This workflow could involve hundreds of lines of code, and is no easy undertaking for novice developers.
But now, thanks to the new ADAL libraries released by Microsoft, these operations can be performed much more efficiently. This implies considerable time savings to the developer and cost savings to the business.