Skip to content

v0.7.0 - OIDC Provider Support

Choose a tag to compare

@azophy azophy released this 22 Mar 08:49
· 20 commits to main since this release

πŸŽ‰ Major Features

OIDC Provider Support

  • βœ… Add OIDC provider implementation for OpenID Connect authentication
  • βœ… Support multiple OAuth providers simultaneously (GitHub + OIDC)
  • βœ… Encode provider name in OAuth state parameter for correct callback routing
  • βœ… Auto-discover OIDC configuration via .well-known/openid-configuration

Supported OIDC Providers

  • Authentik (self-hosted, recommended)
  • Google Workspace
  • Okta
  • Auth0
  • Keycloak
  • Microsoft Entra ID (Azure AD)
  • Any OIDC-compatible provider

πŸ“š Documentation

New Guides

  • Authentik Integration Guide - Complete step-by-step OIDC setup tutorial
  • OAuth Provider Configuration Guide - Comprehensive OAuth/OIDC reference

Updated Documentation

  • README.md - Added OIDC provider information and links
  • Configuration reference - Updated multi-provider support documentation

πŸ”§ Technical Changes

OAuth Flow Improvements

  • Provider name encoded in state parameter (format: provider:session_id)
  • Direct provider selection in callback handler (no more trial-and-error)
  • Improved efficiency and reliability with multiple providers

Configuration

auth:
  providers:
    - name: github
      type: github
      client_id: ...
      client_secret: ...
      allowed_org: my-org
      
    - name: authentik
      type: oidc
      issuer: https://auth.example.com/application/o/sshifu/
      client_id: ...
      client_secret: ...
      principal_oauth_field_name: preferred_username

πŸ“¦ Installation

# Using npx (no installation)
npx sshifu-server

# Or install globally
npm install -g sshifu-server

# Or via Go
go install github.com/azophy/sshifu/cmd/sshifu-server@latest

πŸ”— Links

Full commit list: 12 commits since v0.6.3