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
- Visit the Google Cloud Console.
- Go to APIs & Services → Credentials.
- Create an OAuth 2.0 Client ID as a Web Application.
- Set the Authorized redirect URI to:
https://ids.fabrixly.com/api/auth/google/callback
GitHub Setup
- Go to your GitHub Developer Settings.
- Create a new OAuth App.
- 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
- Open the Admin Console and navigate to Clients.
- Select your client and click Edit.
- Under Social Settings / Provider Configurations:
- Google Login: Toggle Enable Google Login to
Onand input your Google Client ID and Client Secret. - Other Providers (GitHub, Facebook, Microsoft, Apple): Configure their credentials inside the Social Config JSON block.
- Google Login: Toggle Enable Google Login to
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.,
googleIdorgithubId) to the existing profile, ensuring users do not end up with duplicate accounts.