Package Exports
- api42client
- api42client/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (api42client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
API42Client
API42Client is a class that help you interacte with 42 school api and get users data
Installation
This is a Node.js module available through the npm registry.
Before installing, download and install Node.js.
If this is a brand new project, make sure to create a package.json
first with
the npm init
command.
Installation is done using the
npm install
command:
$ npm install api42client
example file run.js
import Authenticator from "api42client";
// you can see the attached screen shot to know where get this variables
const UID = "98a139943caaa7645f98b077445f8e84de4cb23e7668fb010a01b9c0ed20b8a4"; // Position -1-
const SECRET = "b34df710754fbe173bfd202cd0bfdf05fcdc4dda3f22b4d76459a2a1e1c35f"; // Position -2-
const REDIRECT_URI = "http://localhost:3000"; // Position -3-
// 42 authenticator instance
var app = new Authenticator(UID, SECRET, REDIRECT_URI);
// after send the user to 42 site to authorize the app [example of 42 site: https://api.intra.42.fr/oauth/authorize?client_id=98a139f98b077445f8e84de4cb23e7668fb010a01b9c0ed20b8a4&redirect_uri=http%3A%2F%2Flocalhost%3A3000&response_type=code]
// 42 redirect the user to the REDIRECT_URI (in this example is: http://localhost:3000) with the code in query string
// like that: http://localhost:3000/?code=7a0cb1a9c5b0fd31a0eb9c5f854fc2386b1edc2179f73c76904d65f5aae4e9bc
// get the code from the query string (code=7a0cb1a9c5b0fd31a0eb9c5f854fc2386b1edc2179f73c76904d65f5aae4e9bc)
// and give it to get_Access_token function like below
var token = app.get_Access_token("85a7e9c0bdbb53d6583064846c087e5e499b6b523f0602c46d1d422078feaf77");
token.then((data) => {
// get the acces token of the user
console.log("======================== auth user Data =========================");
console.log(data);
console.log("========================= 42 user data ==========================");
// get the user info from 42 api
app.get_user_data(data.access_token).then((data) => {
console.log(data);
console.log("=============================================================");
});
}).catch((err) => {
console.log(err);
});
Configuration
- Make sure you have install api42client package
npm i api42client
- Change UID in
Position -1-
with your values in 42 app (like in picture) - Change SECRET in
Position -2-
with your values in 42 app (like in picture) - Change REDIRECT_URI in
Position -3-
with your values in 42 app (like in picture)

User flow
- send the user to 42 site to authorize the app [it is the link below REDIRECT URL in 42 api page]
- 42 api will redirect the user to the REDIRECT_URI with the code in query string
- get the code from the query string (
code=7a0c...5f5aa9bc
) - give it to get_Access_token function like sourcecode in
index.mjs
file
Running
node run.js
Finally Congratulations 🎉 you will get all user info from 42 api
License
Support
This package costs me time to make and maintain every time.
[I am very 😀 about every coffee!]