Skip to content

Configure initiate login endpoint

Set up a login endpoint that Scalekit redirects to when users access your application through indirect entry points

In certain scenarios, Scalekit redirects users to your application’s login endpoint using OIDC third-party initiated login. Your application must implement this endpoint to construct the authorization URL and redirect users to Scalekit’s authentication flow.

Scalekit redirects to your login endpoint in these (example) scenarios:

  • Bookmarked login page: Users bookmark your login page and visit it later. When they access the bookmarked URL, Scalekit redirects them to your application’s login endpoint because the original authentication transaction has expired.

  • Password reset completion: After users complete a password reset, Scalekit redirects them to your login endpoint. Users can then sign in with their new password.

  • Email verification completion: After users verify their email address during signup, Scalekit redirects them to your login endpoint to complete authentication.

  • Organization invitations: When users click an invitation link to join an organization, Scalekit redirects them to your login endpoint with invitation parameters. Your application must forward these parameters to Scalekit’s authorization endpoint.

  • Disabled cookies: If users navigate to Scalekit’s authorization endpoint with cookies disabled, Scalekit redirects them to your login endpoint.

Register your login endpoint in the Scalekit dashboard.

Go to Dashboard > Authentication > Redirect URLs > Initiate Login URL and add your endpoint.

The endpoint must:

  • Use HTTPS (required in production)
  • Not point to localhost (production only)
  • Accept query parameters that Scalekit appends

Create a /login endpoint that constructs the authorization URL and redirects users to Scalekit.

routes/auth.js
// Handle indirect auth entry points
app.get('/login', (req, res) => {
const redirectUri = 'http://localhost:3000/auth/callback';
const options = {
scopes: ['openid', 'profile', 'email', 'offline_access']
};
const authorizationUrl = scalekit.getAuthorizationUrl(redirectUri, options);
res.redirect(authorizationUrl);
});