What is Social Login in Fabrixly-IDS?

Social login lets users sign in to your applications using their existing credentials from major identity providers—Google, GitHub, Facebook, Microsoft, and Apple.

Fabrixly-IDS provides native support for social login. It handles provider handshakes, callback routing, new user registration, and account linking automatically.


Configuration Model: Per-Client database settings

Unlike simple OAuth proxies that rely on global environment variables, Fabrixly-IDS manages social login configurations per-client in the database. This allows you to configure different Google or GitHub apps for different client applications.


Step 1: Obtain Credentials from Providers

First, register your application in the developer portals of the providers you wish to support:

Google Setup

  1. Visit the Google Cloud Console.
  2. Go to APIs & Services → Credentials.
  3. Create an OAuth 2.0 Client ID as a Web Application.
  4. Set the Authorized redirect URI to: https://ids.fabrixly.com/api/auth/google/callback

GitHub Setup

  1. Go to your GitHub Developer Settings.
  2. Create a new OAuth App.
  3. Set the Authorization callback URL to: https://ids.fabrixly.com/api/auth/github/callback

Step 2: Configure Client Settings in Fabrixly-IDS

You can enable and configure social providers for your OIDC client using either the Admin Console or the Management API.

Option A: Using the Admin Console

  1. Open the Admin Console and navigate to Clients.
  2. Select your client and click Edit.
  3. Under Social Settings / Provider Configurations:
    • Google Login: Toggle Enable Google Login to On and input your Google Client ID and Client Secret.
    • Other Providers (GitHub, Facebook, Microsoft, Apple): Configure their credentials inside the Social Config JSON block.

Option B: Using the Management API

Send a PUT request to update your client's settings.

Request:

PUT https://ids.fabrixly.com/api/clients/my-client-id
Authorization: Bearer <your-admin-jwt-token>
Content-Type: application/json

Payload:

{
  "enable_google_login": true,
  "google_client_id": "your-google-client-id.apps.googleusercontent.com",
  "google_client_secret": "your-google-client-secret",
  "social_config": {
    "github": {
      "enabled": true,
      "clientId": "your-github-client-id",
      "clientSecret": "your-github-client-secret"
    },
    "microsoft": {
      "enabled": true,
      "clientId": "your-microsoft-client-id",
      "clientSecret": "your-microsoft-client-secret",
      "tenantId": "common"
    }
  }
}

Step 3: Initiating Social Login Flows

Fabrixly-IDS serves built-in endpoints to initiate social authentication.

When a user clicks a social login button in your app or the Fabrixly-IDS login portal, they are redirected to:

  • Google Login: GET https://ids.fabrixly.com/api/auth/google?client_id=<your-client-id>
  • GitHub Login: GET https://ids.fabrixly.com/api/auth/github?client_id=<your-client-id>
  • Microsoft Login: GET https://ids.fabrixly.com/api/auth/microsoft?client_id=<your-client-id>
  • Facebook Login: GET https://ids.fabrixly.com/api/auth/facebook?client_id=<your-client-id>
  • Apple Login: GET https://ids.fabrixly.com/api/auth/apple?client_id=<your-client-id>

Note: You can pass an optional uid parameter to bind the social auth to an ongoing OIDC browser session.


User Onboarding & Account Linking

  • New Users: When logging in with a social account for the first time, Fabrixly-IDS automatically creates a new user profile using the email and name returned by the provider.
  • Account Linking: If a user profile already exists with the same email address, Fabrixly-IDS automatically links the social provider ID (e.g., googleId or githubId) to the existing profile, ensuring users do not end up with duplicate accounts.

Subscribe to The Fabrixly Blog

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe