TypeScript icon, indicating that this package has built-in type declarations

    0.0.32 • Public • Published

    Peppergaming Auth SDK

    Easy Auth for web3 gaming apps.

    Developing web3 apps is not easy, even more for games developers. Our Auth SDK allows easily to integrate a web3 Login module in your app. Passwordless, non-custodial Login. Integrate our SDK in your game in a few lines of code.

    By using our SDK you can build a login infrastructure based on social logins or email and, for more advanced users, also external wallets. Currently, we support the following authentication methods:

    Supported authentication methods

    Method Type
    Google Oauth
    Discord Oauth
    Twitch Oauth
    Email Passwordless flow
    Metamask External wallet
    WalletConnect External wallet

    Getting started


    npm i --save @peppergaming/auth
    // or
    yarn add --save @peppergaming/auth


    To quickly have access to the several login methods we support, just import the sdk and initialize it

    import {PepperLogin} from "@peppergaming/auth"
    // ... 
    const loginSDK = new PepperLogin();
    await loginSDK.init()
    // ...
    // You can login with some auth method
    const web3Provider = await loginSDK.connectTo("google")
    // When you want to logout
    await loginSDK.logout()

    That's it, now you have a web3 provider available in your app!

    For more documentation about what a web3 provider is, checkout the ethers Provider documentation.

    Advanced usage

    Your login infrastructure may need further control about what happens during the login lifecycle. The PepperLogin class can be instantiated with an options object You can configure several SDK settings, one very useful option is the eventSubscriber. Here's an example of SDK initialization with an eventSubscriber option.

    import {PepperLogin, UserInfo} from "@peppergaming/auth"
    const eventSubscriber: EventSubscriber = {
      async onConnecting() {
         // put here your logic during connection
      async onAuthChallengeSigning() {
        // put here your logic during signing challenge
         console.log("Signing Challenge");
      async onConnected(userInfo: UserInfo, pepperAccessToken: string) {
        // put here your logic for post connection
        console.log("Connected with user info: ", userInfo);
      async onDisconnected() {
       // put here your logic for post disconnection
      async onErrored(error: any) {
      // put here your logic for handling errors
         console.log("Connection error");
    // ... 
    const loginSDK = new PepperLogin({eventSubscriber});
    await loginSDK.init()

    Code documentation

    For more details about the code please see the specific documentation.


    npm i @peppergaming/auth

    DownloadsWeekly Downloads






    Unpacked Size

    210 kB

    Total Files


    Last publish


    • cardosofelipe
    • pepper-gaming