0.1.3 • Published 2 months ago
nso-login v0.1.3
nso-login
Node.js Helper Class for Nintendo Switch Online App
Overview
You don't need to know how NSO works. This library calls API and gets tokens instead of you. Requests are automatically cached while using same instance.
Installation
yarn add nso-login
Usage
Before running programs, you need to get a something valid token and set to instance.
approvalLink
property is one of the good example:
- Get a login URL from
.getLoginURL()
. - Open the URL on your browser.
- Login to your account.
- Copy link of red button that labeled "connect".
- The link is
approvalLink
. Set it to property:
nsoLogin.approvalLink = "npf71b963c1b7b6d119://auth#session_state=...";
Note approvalLink expires in 900 seconds.
Getting bullet token:
import NSOLogin from "nso-login";
const nsoLogin = new NSOLogin();
(async () => {
nsoLogin.approvalLink = process.env.APPROVAL_LINK as string;
const bulletToken = await nsoLogin.getBulletToken();
console.log(bulletToken);
})();
Getting many tokens:
import NSOLogin from "nso-login";
const nsoLogin = new NSOLogin();
(async () => {
nsoLogin.approvalLink = process.env.APPROVAL_LINK as string;
const sessionToken = await nsoLogin.getSessionToken();
console.log(sessionToken);
const nsoAppVersion = await nsoLogin.getNSOAppVersion();
console.log(nsoAppVersion);
const accessToken = await nsoLogin.getAccessToken();
console.log(accessToken);
const fDataNSO = await nsoLogin.getFDataNSO();
console.log(fDataNSO);
const registrationToken = await nsoLogin.getRegistrationToken();
console.log(registrationToken);
const fDataApp = await nsoLogin.getFDataApp();
console.log(fDataApp);
const webServiceToken = await nsoLogin.getWebServiceToken();
console.log(webServiceToken);
const bulletToken = await nsoLogin.getBulletToken();
console.log(bulletToken);
})();
You can use any parameters:
import NSOLogin from "nso-login";
const nsoLogin = new NSOLogin();
(async () => {
const loginURL = nsoLogin.loginURL;
console.log(loginURL);
const approvalLink = process.env.APPROVAL_LINK as string;
const sessionToken = await nsoLogin.getSessionToken(approvalLink);
console.log(sessionToken);
const nsoAppVersion = await nsoLogin.getNSOAppVersion();
console.log(nsoAppVersion);
const accessToken = await nsoLogin.getAccessToken(sessionToken);
console.log(accessToken);
const fDataNSO = await nsoLogin.getFDataNSO(accessToken);
console.log(fDataNSO);
const registrationToken = await nsoLogin.getRegistrationToken(
accessToken,
fDataNSO,
nsoAppVersion
);
console.log(registrationToken);
const fDataApp = await nsoLogin.getFDataApp(registrationToken);
console.log(fDataApp);
const webServiceToken = await nsoLogin.getWebServiceToken(
registrationToken,
fDataApp,
nsoAppVersion
);
console.log(webServiceToken);
const bulletToken = await nsoLogin.getBulletToken(webServiceToken);
console.log(bulletToken);
})();
Test
Write your approvalLink
to .env
:
APPROVAL_LINK="npf71b963c1b7b6d119://auth#session_state=..."
Then run test command:
yarn test test/1.ts