Skip to content

About

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

Topics

Resources

Stars

1 star

Watchers

3 watching

Forks

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


OIDC, SAML & SCIM Examples

Python License: MIT SAML OIDC

Comprehensive examples demonstrating Scalekit with various identity providers and protocols. Scalekit provides auth and actions on behalf of users, with 500+ connectors and 20,000+ tools. 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

Stars

1 star

Watchers

3 watching

Forks

Used by

Contributors

Languages