Admin Portal
The Admin Portal simplifies the process of connecting your application to the identity or directory providers used by enterprise organizations.
By offering a self-service portal for your customers, you can minimize the need for extensive back-and-forth communication. Scalekit hosts and manages the Admin Portal entirely, providing two flexible integration options — No-Code and Embedded portals.
No-Code Admin Portal
Section titled “No-Code Admin Portal”A portal will show up for your customers to configure Single sign-on settings by accessing a shareable link. This portal contains the configuration settings that lets your customers setup a connection to their identity provider.
To create and share a link for the Admin Portal, follow these steps:
- Log in to your Scalekit Dashboard
- Navigate to the “Organizations” tab
- Select the organization you want to provide access to
- Click “Generate Link” to create a new, shareable Admin Portal link
https://your-app.scalekit.dev/magicLink/2cbe56de-eec4-41d2-abed-90a5b82286c4_p
The link expires in 7 days but can be revoked at any time from the dashboard for security purposes. You can share the link through communication channels such as email, Slack, or other preferred methods.
Customize the Admin Portal
Section titled “Customize the Admin Portal”Customizing your admin portal ensures that the interface aligns with your application’s brand identity. Follow this guide to update your custom domain, upload your logo, adjust colors, and set a favicon—all of which create a seamless user experience.
Personalize your admin portal further by matching it to your brand. The following elements can be customized:
- Logo: Upload and display your company logo.
- Colors: Adjust the accent color to harmonize with your brand palette.
- Favicon: Set a favicon that represents your brand identity.
These customization options help ensure that the admin portal feels like an integrated extension of your application.
Embedded Admin Portal
Section titled “Embedded Admin Portal”Users can do the connection setup right from your application by rendering Scalekit-hosted admin portal as a inline frame (iframe). This approach allows easy discovery & convenient access to the portal without the need for external links or separate portals.
Generate the embeddable portal link when page loads or refreshes and inject the src
of the <iframe>
, at your app’s runtime. This ensure secure programmatic access.
npm install @scalekit-sdk/node
pip install scalekit-sdk-python
go get -u github.com/scalekit-inc/scalekit-sdk-go
/* Gradle users - add the following to your dependencies in build file */implementation "com.scalekit:scalekit-sdk-java:1.1.3"
<!-- Maven users - add the following to your `pom.xml` --><dependency> <groupId>com.scalekit</groupId> <artifactId>scalekit-sdk-java</artifactId> <version>1.1.3</version></dependency>
Use the Generate Portal Link API to create a unique, embeddable Admin Portal link specific to an organization.
import { Scalekit } from '@scalekit-sdk/node';
const scalekit = new Scalekit( process.env.ENVIRONMENT_URL, process.env.CLIENT_ID, process.env.CLIENT_SECRET,);
async function generatePortalLink(orgID) { const link = await scalekit.organization.generatePortalLink(orgID); console.log(JSON.stringify(link, null, 2));}
from scalekit import Scalekit
scalekit = Scalekit( environment_url=os.environ.get("ENVIRONMENT_URL"), client_id=os.environ.get("CLIENT_ID"), client_secret=os.environ.get("CLIENT_SECRET"))
def generate_portal_link(org_id): link = scalekit.organization.generate_portal_link(org_id) print(json.dumps(link, indent=2))
import ( "context" "encoding/json" "fmt" "os"
"github.com/scalekit/sdk-go")
func generatePortalLink(orgID string) { sc := scalekit.New( os.Getenv("ENVIRONMENT_URL"), os.Getenv("CLIENT_ID"), os.Getenv("CLIENT_SECRET"), )
ctx := context.Background() link, err := sc.Organization.GeneratePortalLink(ctx, orgID) if err != nil { panic(err) }
jsonData, _ := json.MarshalIndent(link, "", " ") fmt.Println(string(jsonData))}
import com.scalekit.client.Scalekit;import com.scalekit.client.models.Link;import com.scalekit.client.models.Feature;
import java.util.Arrays;
public class PortalLinkGenerator { public static void main(String[] args) { Scalekit client = new Scalekit( System.getenv("ENVIRONMENT_URL"), System.getenv("CLIENT_ID"), System.getenv("CLIENT_SECRET") );
Link portalLink = client .organizations() .generatePortalLink( "org_12345", Arrays.asList(Feature.sso, Feature.dir_sync) );
System.out.println(portalLink.getLocation()); }}
The API will return a JSON object containing the location
property, which is the URL to the Admin Portal.
{ "id": "8930509d-68cf-4e2c-8c6d-94d2b5e2db43", "location": "https://random-subdomain.scalekit.dev/magicLink/8930509d-68cf-4e2c-8c6d-94d2b5e2db43", "expireTime": "2024-10-03T13:35:50.563013Z"}
Access the location
property and set it as the src
attribute of an iframe in your web pages at runtime. Ensure your domain is listed as one of the Redirect URIs in the Scalekit Dashboard > API Config
<body> <h1>Admin Portal (Embed)</h1> <iframe src="https://random-subdomain.scalekit.dev/magicLink/8930509d-68cf-4e2c-8c6d-94d2b5e2db43" width="100%" height="600px" frameborder="0" allow="clipboard-write" > </iframe></body>
For example, if your application has a “Settings” page for your users, this page can allow them to configure connection with their IdP right within from your app.
The Admin Portal can be customized to match your brand’s logo and colors. Refer to the customize Admin Portal for more information.