Skip to content

Instantly share code, notes, and snippets.

@MarcBittner
Created September 13, 2025 17:50
Show Gist options
  • Select an option

  • Save MarcBittner/d0eb2a4cb6927334f4df6b05d091d1d0 to your computer and use it in GitHub Desktop.

Select an option

Save MarcBittner/d0eb2a4cb6927334f4df6b05d091d1d0 to your computer and use it in GitHub Desktop.

Google Workspace + Okta + GitHub Integration Compatibility Chart

Integration Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    SAML/SCIM    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    SAML SSO     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Google         β”‚ ─────────────▢  β”‚      Okta       β”‚ ─────────────▢  β”‚     GitHub      β”‚
β”‚  Workspace      β”‚                 β”‚   Identity      β”‚                 β”‚   Enterprise    β”‚
β”‚ (Directory)     β”‚                 β”‚   Provider      β”‚                 β”‚     Cloud       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                                   β”‚                                   β”‚
        β–Ό                                   β–Ό                                   β–Ό
   User Directory                    SSO Management                    Repository Access
   Group Management                  SAML Assertions                   Team Management
   Attribute Sync                    User Provisioning                 Organization Control

Primary Compatibility Matrix

Component Version Type SAML SSO User Provisioning Rate Limits User Limits Trial Duration Production Ready
Google Workspace Trial βœ… SAML 2.0 βœ… Full Directory Sync No limits No limits 14-30 days ❌ (Trial only)
Google Workspace Paid βœ… SAML 2.0 βœ… Full Directory Sync No limits Unlimited N/A βœ…
Okta Free/Trial Integrator Free βœ… SAML 2.0 (SHA256) βœ… Basic SCIM 100 auth/min 10 active users 180 days inactive ❌ (Dev/Test only)
Okta Workforce Identity βœ… SAML 2.0 (SHA256) βœ… Full SCIM 600+ auth/min Unlimited N/A βœ…
GitHub Free/Team ❌ No SAML ❌ No SCIM N/A N/A N/A ❌
GitHub Enterprise Cloud Trial βœ… SAML 2.0 βœ… JIT + SCIM No limits Organization-based 30 days ❌ (Trial only)
GitHub Enterprise Cloud Paid βœ… SAML 2.0 βœ… JIT + SCIM No limits Unlimited N/A βœ…

Feature Support Detailed Matrix

Authentication & SSO Features

Feature Google Workspace Trial Google Workspace Paid Okta Free Okta Paid GitHub Enterprise Trial GitHub Enterprise Paid
SAML 2.0 IdP βœ… Full support βœ… Full support βœ… Full support βœ… Full support N/A (SP only) N/A (SP only)
SAML 2.0 SP βœ… Full support βœ… Full support βœ… Full support βœ… Full support βœ… Full support βœ… Full support
IdP-Initiated SSO βœ… Supported βœ… Supported βœ… Supported βœ… Supported βœ… Supported βœ… Supported
SP-Initiated SSO βœ… Supported βœ… Supported βœ… Supported βœ… Supported βœ… Supported βœ… Supported
Multi-Factor Auth βœ… Built-in βœ… Built-in βœ… Built-in βœ… Advanced βœ… Via Okta βœ… Via Okta
Conditional Access βœ… Basic βœ… Advanced ⚠️ Limited βœ… Full βœ… Basic βœ… Advanced
Session Management βœ… Google sessions βœ… Google sessions βœ… Okta sessions βœ… Advanced βœ… Basic βœ… Advanced

Provisioning & User Management

Feature Google Workspace Trial Google Workspace Paid Okta Free Okta Paid GitHub Enterprise Trial GitHub Enterprise Paid
User Provisioning βœ… Create/Update βœ… Create/Update βœ… Basic SCIM βœ… Full SCIM βœ… JIT only βœ… JIT + SCIM
User Deprovisioning βœ… Delete/Suspend βœ… Delete/Suspend βœ… Supported βœ… Advanced βœ… Supported βœ… Advanced
Group Mapping βœ… Basic groups βœ… Advanced OUs βœ… Basic mapping βœ… Advanced rules ⚠️ Limited βœ… Full mapping
Attribute Mapping βœ… Standard attrs βœ… Custom attrs βœ… Standard attrs βœ… Custom attrs βœ… Basic attrs βœ… Custom attrs
Real-time Sync βœ… Webhook support βœ… Webhook support βœ… Event hooks βœ… Real-time βœ… Basic sync βœ… Real-time
SCIM 2.0 βœ… Full compliance βœ… Full compliance βœ… Full compliance βœ… Full compliance βœ… GitHub SCIM βœ… GitHub SCIM

Trial Version Specific Limitations

Google Workspace Trial

Limitation Type Description Impact Workaround
Time Limit 14-30 day trial period Must upgrade for continued use Extend trial or use personal account
Admin Features Some advanced admin features limited Limited policy control Upgrade for full features
Support Limited trial support Self-service only Community support available
User Count No specific limit during trial Full user base available N/A

Okta Free/Integrator Plan

Limitation Type Description Impact Workaround
User Limit Maximum 10 active users Cannot test with large user base Rotate test users
Rate Limiting 100 authentications per minute May hit limits during testing Stagger authentication tests
Inactivity Deactivates after 180 days Lose configuration if inactive Submit OIN app or stay active
Advanced Features Limited to basic SAML features No advanced customization Upgrade for full features
App Integrations Basic integrations only Limited to standard configs Custom apps require upgrade

GitHub Enterprise Cloud Trial

Limitation Type Description Impact Workaround
Time Limit 30-day trial period Must upgrade for continued use Multiple trial organizations
Organization Size Limited seats during trial Cannot test with full team Use existing Enterprise org
Advanced Features Some enterprise features limited Limited policy testing Upgrade for full features
Support Trial support only Limited assistance Documentation and community

Integration Flow Requirements

Google Workspace β†’ Okta Setup

Configuration Item Required Value Trial Support Notes
Domain Verification Verified domain required βœ… Supported Can use trial domain
SAML Certificate Google-generated cert βœ… Auto-generated No manual cert needed
SSO URL Google-provided URL βœ… Auto-generated Unique per organization
Entity ID Google workspace domain βœ… Supported Format: google.com/a/domain
Directory Sync API credentials βœ… Full access Service account required

Okta β†’ GitHub Enterprise Cloud Setup

Configuration Item Required Value Trial Support Notes
GitHub App "GitHub Enterprise Cloud - Organization" βœ… Available From Okta catalog
SAML Configuration SSO URL, Entity ID, Certificate βœ… Generated Okta provides values
Organization Name GitHub org name βœ… Required Must exist in GitHub
SCIM Token GitHub personal access token βœ… Manual setup Admin token required
User Assignment Okta users/groups βœ… Supported Limited to 10 in free plan

Configuration Matrix by Integration Type

SAML SSO Configuration

Setting Google Workspace Okta GitHub Enterprise
Entity ID google.com/a/[domain] Okta-generated github.com/orgs/[org]
SSO URL accounts.google.com/o/saml2/idp [oktadomain]/app/[app]/sso/saml From Okta
ACS URL N/A (IdP) From GitHub github.com/orgs/[org]/saml/consume
Certificate Auto-generated Auto-generated From Okta
Name ID Format Email Configurable Email (recommended)
Signature Algorithm SHA-256 SHA-256 SHA-256

SCIM Provisioning Configuration

Setting Google Workspace Okta GitHub Enterprise
SCIM Endpoint N/A (source) To GitHub api.github.com/scim/v2/orgs/[org]
Authentication N/A Bearer token Personal access token
User Attributes Standard + custom Mappable GitHub user fields
Group Support OU mapping Group mapping Team mapping
Provisioning Actions Source events Create/Update/Delete JIT + SCIM actions

Trial Testing Workflow

Phase 1: Initial Setup (Days 1-3)

Day 1: Google Workspace Trial
β”œβ”€β”€ Sign up for trial
β”œβ”€β”€ Verify domain
β”œβ”€β”€ Create test users and groups
└── Configure basic settings

Day 2: Okta Free Plan
β”œβ”€β”€ Create Integrator Free Plan
β”œβ”€β”€ Configure Google Workspace app
β”œβ”€β”€ Set up directory sync
└── Test user import

Day 3: GitHub Enterprise Cloud Trial
β”œβ”€β”€ Start Enterprise Cloud trial
β”œβ”€β”€ Create organization
β”œβ”€β”€ Configure SAML with Okta
└── Test basic SSO

Phase 2: Integration Testing (Days 4-7)

Day 4-5: End-to-End SSO Testing
β”œβ”€β”€ IdP-initiated SSO flows
β”œβ”€β”€ SP-initiated SSO flows
β”œβ”€β”€ Error handling scenarios
└── Multi-factor authentication

Day 6-7: Provisioning Testing
β”œβ”€β”€ User lifecycle management
β”œβ”€β”€ Group membership changes
β”œβ”€β”€ Attribute synchronization
└── Deprovisioning workflows

Phase 3: Advanced Testing (Days 8-14)

Day 8-10: Security Testing
β”œβ”€β”€ Certificate validation
β”œβ”€β”€ Session management
β”œβ”€β”€ Conditional access policies
└── Audit log verification

Day 11-14: Scale Testing
β”œβ”€β”€ Multiple user scenarios
β”œβ”€β”€ Concurrent authentication
β”œβ”€β”€ Performance validation
└── Documentation preparation

Production Migration Checklist

Pre-Migration Requirements

  • Google Workspace: Upgrade to Business/Enterprise
  • Okta: Upgrade to Workforce Identity ($2-8/user/month)
  • GitHub: Purchase Enterprise Cloud licenses ($21/user/month)
  • Custom Domains: Configure production domains
  • SSL Certificates: Implement production certificates
  • Backup Strategy: Export configurations and user data

Configuration Migration

  • SAML Certificates: Update with production certificates
  • Domain Settings: Change from trial to production domains
  • User Accounts: Migrate or recreate production users
  • Group Mappings: Verify organizational unit mappings
  • Application Assignments: Update user/group assignments
  • Policies: Configure production security policies

Testing & Validation

  • SSO Flows: Test all authentication scenarios
  • Provisioning: Verify user lifecycle management
  • Performance: Load test with expected user volume
  • Security: Penetration testing and security audit
  • Disaster Recovery: Test backup and recovery procedures
  • User Training: Conduct end-user training sessions

Troubleshooting Common Trial Issues

Authentication Issues

Problem Likely Cause Solution
SAML Assertion Invalid Certificate mismatch Verify certificates in all systems
User Not Found Attribute mapping issue Check email/username mapping
Access Denied Group membership Verify user assigned to correct groups
Session Timeout Session policy conflict Adjust session timeout settings

Provisioning Issues

Problem Likely Cause Solution
Users Not Syncing API token expired Refresh service account credentials
Groups Not Mapped Mapping configuration Verify group claim configuration
Partial Sync Rate limiting Check for API rate limit errors
Duplicate Users Multiple identity sources Implement identity reconciliation

Cost Analysis for Production

Monthly Cost Breakdown (50 users)

Service Trial Cost Production Cost/Month Annual Cost
Google Workspace Business Free (30 days) $300 ($6/user) $3,600
Okta Workforce Identity Free (10 users) $250 ($5/user) $3,000
GitHub Enterprise Cloud Free (30 days) $1,050 ($21/user) $12,600
Total Integration Cost $0 $1,600/month $19,200/year

ROI Considerations

  • Security Enhancement: Centralized identity management
  • Productivity Gains: Single sign-on reduces authentication time
  • Compliance: Audit trails and access controls
  • Operational Efficiency: Automated provisioning/deprovisioning
  • Reduced IT Overhead: Centralized user management

Summary & Recommendations

βœ… Full Trial Compatibility

All three platforms can be integrated during their trial periods with the following optimal configuration:

  • Google Workspace: 30-day trial with full SAML IdP capabilities
  • Okta Integrator Free Plan: Permanent free tier for up to 10 users
  • GitHub Enterprise Cloud: 30-day trial with full SAML SSO support

πŸ”§ Key Integration Points

  1. Directory Flow: Google Workspace β†’ Okta (user source)
  2. Authentication Flow: User β†’ GitHub β†’ Okta β†’ Google Workspace
  3. Provisioning Flow: Google Workspace β†’ Okta β†’ GitHub (SCIM)

⚠️ Critical Trial Limitations

  • Okta: 10 active users maximum
  • Time Constraints: 30-day limit for Google Workspace and GitHub
  • Production Features: Some advanced features require paid plans

🎯 Recommended Trial Strategy

  1. Week 1: Set up all three platforms and basic integration
  2. Week 2: Test end-to-end SSO and provisioning workflows
  3. Week 3: Advanced testing and security validation
  4. Week 4: Document findings and prepare production migration

This compatibility matrix demonstrates that the Google Workspace + Okta + GitHub integration is fully feasible during trial periods, with seamless migration paths to production environments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment