I want to develop an Outlook Addin that can work on web and mobile application following the instruction to use OfficeJs, the addin can:
- work with my server to get information,
- then read, send email with attachment and move email.
I known that I have to use Outlook Rest API or Microsoft Graph for the mail sending/moving feature. I have stuck when thinking about publishing this addin to users even they are not in my organization.
- I tried Outlook Rest API, this approach as I observed doesnt need to register an app in Azure, the token generated from getCallbackTokenAsync can be used to call Outlook Rest Api right away. I wonder if a user from diferent organization can use the addin. One more thing is in case I need to communicate to my own Backend server, I found no instruction to validate the outlook rest token generated (but there is a tutorial to validate a token that use for graph from getAccessTokenAsync) or I have to provide users a login form to my backend server so I can be sure that the addin is authorized to perform request to my server.
- I tried MS Graph API, this approach is recommended from MS but they do not recommend to use Single Sign On in production. Even so, I want users to have a good experience using the addin, when following this approach, I have some concerns:
- Can users from different organization can use the addin as the addin is developed and using the app registration and website from a diferent tenant (my tenant)? With or without SSO?
- In case it cannot be used by the different organization, what is the best way to develop the add in and provide the addin for those users to use? Via central deployment in their ơwn organization (it means their addmin need to register different app in Azure and hosted a diferent website and manifest, I believed our clients dont want to do many things like that just to use an addin)? Via Appsource? (I am not into Appsource because the addin is planned to be used only by our clients, but if it is the best way, I would like to know your recommendation)
Thank you.