diff options
Diffstat (limited to 'recipes/ms-planner/index.js')
-rw-r--r-- | recipes/ms-planner/index.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/recipes/ms-planner/index.js b/recipes/ms-planner/index.js new file mode 100644 index 0000000..cc0b44a --- /dev/null +++ b/recipes/ms-planner/index.js | |||
@@ -0,0 +1,27 @@ | |||
1 | module.exports = Ferdium => | ||
2 | class Planner extends Ferdium { | ||
3 | overrideUserAgent() { | ||
4 | return window.navigator.userAgent | ||
5 | .replace(/(Ferdium|Electron)(\S+\s)/g, '') | ||
6 | .replace(/(Chrome\/)([^ ]*)/g, '$163.0.3239.84'); | ||
7 | } | ||
8 | |||
9 | // https://docs.microsoft.com/en-us/microsoftteams/troubleshoot/teams-sign-in/sign-in-loop#resolution | ||
10 | knownCertificateHosts() { | ||
11 | return ['tasks.office.com']; | ||
12 | } | ||
13 | |||
14 | // we need to allow all cookies for ms teams | ||
15 | onHeadersReceived(details, callback) { | ||
16 | if ( | ||
17 | details.responseHeaders && | ||
18 | details.responseHeaders['Set-Cookie'] && | ||
19 | details.responseHeaders['Set-Cookie'].length > 0 && | ||
20 | !details.responseHeaders['Set-Cookie'][0].includes('SameSite=none') | ||
21 | ) { | ||
22 | details.responseHeaders['Set-Cookie'][0] = | ||
23 | `${details.responseHeaders['Set-Cookie'][0]}; SameSite=none`; | ||
24 | } | ||
25 | callback({ cancel: false, responseHeaders: details.responseHeaders }); | ||
26 | } | ||
27 | }; | ||