v0.7.0

met4citizen/TalkingHeadv0.7.0Mar 22, 2026by azophy

AI Summary

Major feature release adding OIDC Provider Support for various providers like Authentik, Google, Okta, and Microsoft Entra ID.

Key Highlights

  • OIDC Provider Support (Authentik, Google, Okta, etc.)
  • Multi-provider support (GitHub + OIDC simultaneously)
  • Provider name encoded in OAuth state parameter
  • Auto-discovery of OIDC configuration via .well-known

New Features

  • OIDC Provider implementation
  • Authentik Integration Guide
  • OAuth Provider Configuration Guide

Full Release Notes

## 🎉 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
```yaml
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

```bash
# 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

- [Authentik Integration Guide](https://github.com/azophy/sshifu/blob/main/docs/guides/authentik-setup.md)
- [OAuth Provider Configuration](https://github.com/azophy/sshifu/blob/main/docs/guides/oauth-providers.md)
- [Full Changelog](https://github.com/azophy/sshifu/compare/v0.6.3...v0.7.0)

**Full commit list:** 12 commits since v0.6.3