Reducing OAuth onboarding friction: email sign-in, referrals, and terms of service blocks
baseloop
PROOP

a month ago

Hi, we are working to minimize onboarding friction for our less technical users. Our goal is to make self-hosting easy so users maintain privacy while still receiving our support, which is why we direct them to set things up with Railway.

As discussed in our recent Station thread, support suggested we submit these friction points here as feature requests and a potential bug report.

Right now our users log in to our app via our OAuth and then to host the app they need to follow two steps:

  1. They must connect to Railway to grant our application access.
  2. They need to spin up our template.

We've reduced most of the friction with the second step, but we're struggling a bit with the first. Here are the specific requests to help smooth out the OAuth onboarding flow:

1. Allow defaulting to email sign-in on OAuth

Many of our users don't have GitHub and they are presented with login with GitHub and then the email in small letters below, so users tend to miss the fine print. It would be great to have an optional parameter to default the OAuth screen to email sign-in.

2. Support referralCode on the OAuth authorization endpoint (Bug/Oversight)

Currently, our referral link doesn't get attached as part of the OAuth connection step. Support confirmed the referralCode parameter is silently ignored on the authorization endpoint, which feels like a bug. For context, here is how we pass it:

params = {
    "response_type": "code",
    "client_id": RAILWAY_CLIENT_ID,
    "redirect_uri": redirect_uri,
    "scope": RAILWAY_OAUTH_SCOPES,
    "state": state,
    "code_challenge": challenge,
    "code_challenge_method": "S256",
}
if "offline_access" in RAILWAY_OAUTH_SCOPES.split():
    params["prompt"] = "consent"
if RAILWAY_REFERRAL_CODE:
    params["referralCode"] = RAILWAY_REFERRAL_CODE

auth_url = RAILWAY_AUTH_URL + "?" + urllib.parse.urlencode(params)

3. Inline Terms of Service acceptance during OAuth

Since connecting our app to their Railway account is a two-step process consisting of creating an account and connecting with our app, there is an intermediate step requiring them to accept Railway ToCs. Currently, this causes the whole process to fail somewhere in the middle with a confusing message. It would be incredibly helpful if accepting ToCs came in between creating an account and connecting to our app, instead of requiring users to leave the connection step, go into Railway, accept ToCs, and then come back and continue.

Thank you!

Under Review

0 Threads mention this feature

0 Replies

Welcome!

Sign in to your Railway account to join the conversation.

Loading...