v0.7.0 - OIDC Provider Support
π 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