mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat(enterprise): add SAML 2.0 SSO with SP-initiated login
Implements SAML SSO using @node-saml/node-saml, gated behind SAML_ENABLED env var and the saml_sso enterprise license feature. - SAML env vars (entity ID, callback URL, IdP SSO URL, IdP cert, auto-create/auto-link users, default role, provider name, username/email attribute mapping) with validation in superRefine - SAML plugin with three routes: metadata (GET), login (GET), and ACS callback (POST with form-urlencoded content type parser) - Callback uses the shared external-auth resolver for user resolution (same pattern as OIDC: match/link/create/deny) - Auth config endpoint exposes samlEnabled and samlProviderName - Session loginMethod detection updated for SAML auth provider - Frontend login page shows SAML SSO button when enabled - i18n strings for SAML error messages across all 21 locales
This commit is contained in:
@@ -2997,6 +2997,11 @@ export const ar: TranslationKeys = {
|
||||
oidcUserNotAuthorized: "حسابك غير مصرح له بالوصول إلى هذا التطبيق. تواصل مع المسؤول.",
|
||||
oidcUserLimitReached: "تم الوصول لحد المستخدمين. تواصل مع المسؤول.",
|
||||
oidcGenericError: "خطأ في المصادقة. يرجى المحاولة مرة أخرى.",
|
||||
samlAuthFailed: "SAML authentication failed. Please try again.",
|
||||
samlUserNotAuthorized:
|
||||
"Your account is not authorized to access this application. Contact your administrator.",
|
||||
samlUserLimitReached: "User limit reached. Contact your administrator.",
|
||||
methodSaml: "SAML",
|
||||
passwordManagedByProvider: "يتم إدارة تغيير كلمة المرور بواسطة مزود الهوية الخاص بك.",
|
||||
enterUsername: "أدخل اسم المستخدم",
|
||||
enterPassword: "أدخل كلمة المرور",
|
||||
|
||||
Reference in New Issue
Block a user