0.1.3 • Published 2 months ago

nso-login v0.1.3

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

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:

  1. Get a login URL from .getLoginURL().
  2. Open the URL on your browser.
  3. Login to your account.
  4. Copy link of red button that labeled "connect".
  5. 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
0.1.3

2 months ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago