Authentication overview

Ripllo doesn't have its own login system. We use Huudis — Forjio's shared identity provider — so you can use the same email and password (or Google, or Apple account) across Ripllo, Storlaunch, Plugipay, Fulkruma, LinkSnap, Pawpado, Catentio, and any other Forjio product.

If you've signed up for a Forjio product before, you can sign in to Ripllo with that same account.

One identity, many products. Your Huudis account is yours, not Ripllo's. We don't store your password — Huudis does. We just trust the bearer tokens Huudis issues us when you sign in.

How it works (the short version)

Sign-in is a standard OpenID Connect (OIDC) flow. The five steps are:

  1. You click Sign in on ripllo.com.
  2. Ripllo redirects you to huudis.com/api/v1/oidc/authorize with a request to authenticate.
  3. You enter your email and password (or click Google/Apple) on Huudis.
  4. Huudis redirects you back to ripllo.com/callback with a one-time code.
  5. Ripllo's backend exchanges the code for a session token, sets a secure cookie on your browser, and you're in.

You never see steps 2-4 visually; they happen in two HTTP redirects.

How it works (the longer version)

Ripllo uses the OIDC authorization code flow with PKCE:

  1. Authorization request — Ripllo's frontend generates a random code_verifier, derives a code_challenge, stores both in an HTTP-only cookie, and redirects you to Huudis with the challenge.
  2. User authentication — Huudis prompts you for credentials (or detects an active Huudis session). When you successfully authenticate, Huudis generates a one-time authorization code.
  3. Redirect with code — Huudis redirects you to ripllo.com/callback?code=…&state=….
  4. Token exchange — The callback page POSTs the code (and the original code_verifier) to Ripllo's backend. The backend forwards both to Huudis's token endpoint, which validates the PKCE pair and returns access and refresh tokens.
  5. Session cookie — Ripllo's backend HMAC-signs a session payload containing the Huudis tokens and sets it as an httpOnly, Secure cookie. The browser presents that cookie on every subsequent request.

The refresh token rotates on every use, with reuse detection: if Huudis sees the same refresh token presented twice, it treats it as a stolen-token signal and revokes the whole token family. Ripllo wraps refresh in a single-flight cache to prevent this from triggering during normal polling.

Who uses this flow?

Audience Auth path
Merchant signing into the portal OIDC flow above. Cookie session in the browser.
You, calling the API server-to-server Not OIDC. Use an HMAC API key you mint in the dashboard.
Storlaunch acting on behalf of a merchant HMAC API key with ripllo:platform:admin scope + X-Ripllo-On-Behalf-Of header.

The portal cookie and the API key are independent. Revoking one doesn't affect the other.

Single sign-on across products

Because every Forjio product points at the same Huudis instance, you're already signed in to all of them once Huudis has an active session for you. Visit Storlaunch after signing into Ripllo — you skip the password screen.

You can sign out of one product without signing out of the others: each product owns its own session cookie.

Multi-workspace

A single Huudis identity can own (or be a member of) multiple Ripllo workspaces. We treat each workspace as a tenant boundary — discount codes, referral programs, pixels, and team members are scoped to one workspace at a time.

After signing in you land in your active workspace. The dashboard's workspace switcher (top-left) lets you change it.

Partner-provisioned access

If your Ripllo workspace was created by Storlaunch (or another partner), you typically don't sign in at ripllo.com directly. You sign in at the partner's portal and they hand you off to your Ripllo workspace through their UI — behind the scenes, the partner's backend uses a platform-admin API key with X-Ripllo-On-Behalf-Of: acc_<yourAccountId> to call Ripllo on your behalf. The merchant-facing experience is seamless.

If you ever do want to log into Ripllo directly, you can — the same Huudis account that owns your Storlaunch login works on ripllo.com. You'll see only the data Storlaunch has provisioned under your account.

What can go wrong

  • Email not verified. If you signed up via email and didn't click the verification link, you can't sign in. Re-request the link from Sign in → Resend verification.
  • Forgot password. Ripllo can't reset it — Huudis owns passwords. Follow the Forgot password flow.
  • Session expired. Cookies live for 30 days of inactivity. After that, you'll be sent back through the OIDC flow on your next page load. No data is lost — this is just a re-auth.

Next