There are, however, some notable differences between these two models. The AAD is more developer oriented as it focuses on pure Graph API, while O365 tries to make you a small add-on to some enclosed O365 system. Even though O365 also supports user-less pure API access, it doesn't actively promote this approach.
As a developer, you'd better know all your options and chose the most suitable integrating capabilities that the system has to offer.
This is why I created this O365_AAD_Demo project, to demonstrate all possible integration scenarios.
- The Store Web App is both an O365 app and an AAD app;
- It calls both SharePoint /_api and AAD graph API;
- It can be invoked either from within O356, the canonical approach, or from outside of O365, the supported but not well documented approach.
- It supports both user-intervened access, and user-less access (enabled by caching refresh token)
- Lastly, the O365 and AAD shares the same 'onmicrosoft.com' domain, representing the same business entity.
As always, you can find the full source code in the code share folder. http://sdrv.ms/15U0N9K