v0.7.0

XTLS/Xray-corev0.7.0Mar 22, 2026by azophy

AI Summary

This release introduces major new functionality by adding support for OIDC (OpenID Connect) authentication alongside existing OAuth providers. It allows users to authenticate using various identity providers like Authentik, Google, Okta, etc.

Key Highlights

  • Major feature: OIDC Provider Support
  • Support for multiple OAuth/OIDC providers simultaneously
  • Auto-discovery of OIDC configuration via .well-known
  • New Authentik Integration Guide

New Features

  • OIDC provider implementation
  • Support for Authentik, Google Workspace, Okta, Auth0, Keycloak, and Microsoft Entra ID
  • Provider name encoding in OAuth state parameter
  • New 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