Skip to content

scalekit-developers/oidc-saml-scim-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


OIDC, SAML & SCIM Examples

Python License: MIT SAML OIDC

Comprehensive examples demonstrating Scalekit's auth stack for AI apps with various identity providers and protocols. Learn how to implement enterprise authentication flows including OIDC, SAML, and SCIM provisioning.

🔐 Authentication Examples

This repository contains practical implementations for:

OIDC (OpenID Connect)

  • Google OIDC: Complete Python implementation for Google Workspace SSO
  • Microsoft Entra ID: Azure AD authentication flows
  • Generic OIDC: Configurable OIDC provider integration

SAML (Security Assertion Markup Language)

  • Okta SAML: Enterprise Okta SAML integration
  • PingIdentity SAML: PingFederate/PingOne authentication
  • Azure AD SAML: Microsoft Azure SAML flows

SCIM (System for Cross-domain Identity Management)

  • User Provisioning: Automated user creation and management
  • Group Sync: Organization and role synchronization
  • Deprovisioning: Secure user lifecycle management

🤖 What You'll Learn

  • Agent-First Architecture: How MCP integrates with enterprise identity
  • Human Authentication: Traditional SSO flows for web applications
  • Token Management: Secure token storage and rotation with Scalekit's Token Vault
  • Audit & Compliance: Immutable audit trails for enterprise requirements
  • Multi-tenant Setup: Organization-level authentication policies

🚀 Quick Start

Prerequisites

  1. Sign up for a Scalekit account
  2. Configure your identity provider (Google, Okta, Azure AD, etc.)
  3. Python 3.8+ installed on your system

Setup

# Clone the repository
git clone https://github.com/scalekit-developers/oidc-saml-scim-examples.git
cd oidc-saml-scim-examples

# Install dependencies
pip install -r requirements.txt

# Copy environment configuration
cp .env.example .env

Configuration

Update .env with your Scalekit and identity provider credentials:

# Scalekit Configuration
SCALEKIT_ENV_URL=your_env_url
SCALEKIT_CLIENT_ID=your_client_id
SCALEKIT_CLIENT_SECRET=your_client_secret

# Identity Provider Specific
GOOGLE_CLIENT_ID=your_google_client_id
OKTA_DOMAIN=your_okta_domain
AZURE_TENANT_ID=your_azure_tenant_id

📁 Example Structure

├── google-oidc/          # Google Workspace OIDC integration
├── okta-saml/           # Okta SAML authentication
├── azure-oidc/          # Microsoft Azure AD OIDC
├── azure-saml/          # Microsoft Azure AD SAML
├── scim-provisioning/   # User provisioning examples
├── shared/              # Common utilities and helpers
└── docs/               # Detailed implementation guides

🔧 Available Examples

Example Protocol Description Status
Google OIDC OIDC Google Workspace SSO integration ✅ Ready
Okta SAML SAML Okta enterprise authentication ✅ Ready
Azure OIDC OIDC Microsoft Entra ID OIDC flows 🚧 Coming Soon
PingIdentity SAML SAML PingFederate integration 🚧 Coming Soon
SCIM Provisioning SCIM Automated user management ✅ Ready

🔗 Helpful Links

📖 Quickstart Guides

📚 Documentation & Reference

🛠️ Additional Resources

🤝 Contributing

We welcome contributions! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Python examples for OIDC, SAML, and SCIM - Google, Okta integration patterns

Topics

Resources

License

Stars

Watchers

Forks

Contributors