Library to Help with non-Basic Authentication methods with ews-javascript-api package
npm install @yasoon/ews-javascript-api-authnpm install ews-javascript-api-auth --save
httpntlm package and usage ntlm-client due to lack of NTLMv2 support in httpntlm
ts
import { ConfigurationApi } from "ews-javascript-api"; // add other imported objects based on your need
import { ntlmAuthXhrApi } from "ews-javascript-api-auth"
ConfigurationApi.ConfigureXHR(new ntlmAuthXhrApi(credentials.userName, credentials.password));
// ----------other code------------
`
JavaScript code:
`js
var ews = require("ews-javascript-api");
var ewsAuth = require("ews-javascript-api-auth");
ews.ConfigurationApi.ConfigureXHR(new ewsAuth.ntlmAuthXhrApi(credentials.userName, credentials.password));
// ------------rest of code----------------
`
> as of version 1.1.0 you can pass true as third parameter to the constructer to bypass certificate errors, Note: To be used only for testing and debugging, not suitable for production environment.
>
> This should only be needed for ntlm authentication, other scenarios should be fine with use of process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; in the calling library.
Cookies Auth using TMG/ISA
Typescript code:
`ts
import { ConfigurationApi } from "ews-javascript-api"; // add other imported objects based on your need
import { cookieAuthXhrApi } from "ews-javascript-api-auth"
ConfigurationApi.ConfigureXHR(new cookieAuthXhrApi(credentials.userName, credentials.password));
// ----------other code------------
`
JavaScript code:
`js
var ews = require("ews-javascript-api");
var ewsAuth = require("ews-javascript-api-auth");
ews.ConfigurationApi.ConfigureXHR(new ewsAuth.cookieAuthXhrApi(credentials.userName, credentials.password));
// ------------rest of code----------------
`
$3
require ews-javascript-api version 0.9`