This repository contains the sources of our EWS proxy. The proxy is currently used by our following products:
- Office Calendars for Confluence
This proxy also aims to stick as closely as possible to the data format that the Microsoft Graph API uses, to make it easy to support both Graph & EWS at the same time.
It's necessary to proxy the SOAP XML requests to the Exchange server, as it does not support CORS. Due to this restriction, connecting to EWS from the browser is not possible, so proxying the requests is (currently) the only option.
To use the proxy locally, you have two options:
- Run the proxy from source
- Use the provided binaries
Just clone the repository and execute the following commands (you'll need NodeJS to run the proxy)
npm install
npm run build
node ./dist/app.js
Just download the binary file from the releases page for your OS. It comes bundled with all dependencies, so you can just run it without installing anything else first.
You can use the following commandline options to customize some behaviour:
--port=1234
--secret=somelongsecret
--verbose
As the proxy calls EWS on behalf of each individul user, it obviously needs to handle user credentials. Unfortunately, on-premise Exchange installations only support NTLM & basic auth.
We understand security is a critical concern for our customers, so we provide the source of our proxy for everyone to see. We are not storing credentials in any form, they are just used for the sole purpose of accessing EWS.
As this may be a dealbreaker for certain industries, it it possible to self-host the proxy. We provide a possibility to change the proxy URL in our products that use this proxy. Please contact us to discuss specifics, we can help you setup the proxy in your environment and enable features like SSL.
You can also decide to test everything using our proxy and decide to run the proxy on your own for production usage.
- We will be providing a docker image / VM for quick installation
- We will also provide a detailed guide for manual installation