Gathering detailed insights and metrics for node-sp-auth-fork-without-global-agent
Gathering detailed insights and metrics for node-sp-auth-fork-without-global-agent
Gathering detailed insights and metrics for node-sp-auth-fork-without-global-agent
Gathering detailed insights and metrics for node-sp-auth-fork-without-global-agent
Unattended SharePoint http authentication with nodejs
npm install node-sp-auth-fork-without-global-agent
Typescript
Module System
Node Version
NPM Version
TypeScript (93.9%)
JavaScript (5.82%)
HTML (0.28%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
MIT License
138 Stars
131 Commits
57 Forks
10 Watchers
2 Branches
8 Contributors
Updated on Jun 06, 2025
Latest Version
3.0.7-2
Package Id
node-sp-auth-fork-without-global-agent@3.0.7-2
Unpacked Size
147.04 kB
Size
31.94 kB
File Count
122
NPM Version
6.14.16
Node Version
12.22.12
Published on
Aug 21, 2023
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
16
IMPORTANT: This module doesn't work in browser. The only supported environment is nodejs. If you have a need to use it in browser, probably you're looking for sp-rest-proxy - a nodejs proxy, which redirects calls to real SharePoint.
node-sp-auth
allows you to perform SharePoint unattended (without user interaction) http authentication with nodejs using different authentication techniques. node-sp-auth
also takes care about caching authentication data for performance (no need for you to think about how long authentication will be available, that's a task for node-sp-auth
, as soon as authentication will be expired, node-sp-auth
will renew it internally).
Versions supported:
Authentication options:
Wiki contains detailed steps you need to perform in order to use any of authentication options as well as sample using.
1npm install node-sp-auth --save-dev
1import * as spauth from 'node-sp-auth'; 2import * as request from 'request-promise'; 3 4//get auth options 5spauth.getAuth(url, credentialOptions) 6 .then(options => { 7 8 //perform request with any http-enabled library (request-promise in a sample below): 9 let headers = options.headers; 10 headers['Accept'] = 'application/json;odata=verbose'; 11 12 request.get({ 13 url: 'https://[your tenant].sharepoint.com/sites/dev/_api/web', 14 headers: headers 15 }).then(response => { 16 //process data 17 }); 18 });
Promise resolving into object with following properties:
headers
- http headers (normally contain Authorization
header, may contain any other heraders as well)options
- any additional options you may need to include for succesful request. For example, in case of on premise user credentials authentication, you need to set agent
property on corresponding http clienturl
- required, string, url to SharePoint site, https://sp2013/sites/dev/
or https:/[your tenant].sharepoint.com/sites/dev/
credentialOptions
- optional, object in a form of key-value. Each authentication option requires predefined credential object, depending on authentication type. Based on credentials provided, node-sp-auth
automatically determines which authentication strategy to use (strategies listed in the top of the readme file).Possible values for credentialOptions
(depending on authentication strategy):
SharePoint on premise (2013, 2016):
clientId
, issuerId
, realm
, rsaPrivateKeyPath
, shaThumbprint
username
, password
, domain
, workstation
username
, password
, fba
= trueusername
, password
, tmg
= trueSharePoint Online:
clientId
, clientSecret
username
, password
, online
ADFS user credentials:
username
, password
, relyingParty
, adfsUrl
, adfsCookie
On demand authentication
ondemand
= true, electron
, force
, persist
, ttl
no authentication - do not provide any authentication data at all, like spauth.getAuth(url).then(...)
. In that case node-sp-auth
will ask you for the site url and credentials. You will have to select any of the credential options listed above. Credentials will be stored in a user folder in an encrypted manner.
Credits: Andrew Koltyakov @koltyakov and his awesome node-sp-auth-config
Please, use Wiki to see how you can configure your environment in order to use any of this authentication options.
configuration
- object accepting some configuration values for node-sp-auth. Currently it supports only configuration of underline request
module via providing below code (for options available consider request repository):1spauth.setup({ 2 requestOptions: {... request options object} 3 });
I recommend using VS Code for development. Repository already contains some settings for VS Code editor.
Before creating Pull Request you need to create an appropriate issue and reference it from PR.
git clone https://github.com/s-KaiNet/node-sp-auth.git
npm run build
- runs linting and typescript compilationnpm run dev
- setup watchers and automatically runs typescript compilation, tslint and tests when you save files/test/integration/config.sample.ts
to config.ts
.config.ts
with appropriate values (urls, credentials).npm run test:integration
.No vulnerabilities found.
Reason
no binaries found in the repo
Reason
license file detected
Details
Reason
Found 8/24 approved changesets -- score normalized to 3
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
Reason
project is not fuzzed
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Reason
22 existing vulnerabilities detected
Details
Score
Last Scanned on 2025-07-07
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More