
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
@animelist/auth
Advanced tools
Provides an interface to authenticate users with MyAnimeList
oauth2 provider.
You may want to use one of the implementations of this package instead:
If you want to use other framework or want to implement your own, we also provide a handler that uses the web standard Request
/Response
createMyAnimeListFetchHandler the same handler is just reexported from the nextjs
and sveltekit
implementations.
In case you want to use this package directly, install it with your favorite package manager:
npm
npm install @animelist/auth
yarn
yarn add @animelist/auth
pnpm
pnpm install @animelist/auth
These are the environment variables are used by the @animelist/auth
MAL_CLIENT_ID
The id of your MyAnimeList client.MAL_CLIENT_SECRET
The secret key of your MyAnimeList client.MAL_REQUEST_DEBUG
Enable logging for the request going to MyAnimeList.
NODE_ENV
to only show logs when not in production.MAL_SECRET_KEY
The secret key used for encode/decode the user session.PUBLIC_MAL_API_URL
The url of the endpoint that handlers the requests, by default is /api/myanimelist
After the user is logged you can get the current user information using getServerSession
.
Which returns null
if the user is not logged or UserSession
:
type UserSession = {
userId: number;
refreshToken: string;
accessToken: string;
};
import { getServerSession } from "@animelist/auth/server";
const session = await getServerSession(cookies);
if (session) {
console.log("User is logged in");
}
You can also use getRequiredServerSession(cookies)
which throws an error if the user is not logged in.
If you want to get the user information you can use the
@animelist/client
.
import { MALClient } from "@animelist/client";
const client = new MALClient({ accessToken });
const user = await client.getMyUserInfo();
If the MAL_SECRET_KEY
is not set you will receive this warning:
⚠️ 'process.env.MAL_SECRET_KEY' was not set, using a default secret key
You can generate a secret key using:
openssl rand --base64 32
Or this beauty:
echo "console.log(require('crypto').randomBytes(32).toString('base64'))" | node
This project is licensed under the MIT License - see the LICENSE file for details.
FAQs
Provides an API to authenticate users with `MyAnimeList`
The npm package @animelist/auth receives a total of 17 weekly downloads. As such, @animelist/auth popularity was classified as not popular.
We found that @animelist/auth demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.