Skip to content

Commit a35100a

Browse files
authored
DEV: Add "saml" area for site settings (#130)
1 parent d580fe9 commit a35100a

File tree

4 files changed

+126
-36
lines changed

4 files changed

+126
-36
lines changed

.discourse-compatibility

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
< 3.6.0.beta2-dev: d580fe9e75320b0a69e722b822dd4dd94a399ec5
12
< 3.6.0.beta1-dev: 3d1b2a212d0b10abf2ee2a6cfdc9865cd2311e69
23
< 3.5.0.beta1-dev: 8a6584428e3502daabca477f4b993ddbc274280d
34
< 3.4.0.beta1-dev: af505922d3fce05cb5381aef021dd3578d703326

config/locales/client.en.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,7 @@ en:
99
site_settings:
1010
categories:
1111
saml: SAML
12+
config:
13+
login:
14+
sub_pages:
15+
saml: "SAML"

config/settings.yml

Lines changed: 118 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
11
saml:
2-
saml_enabled: false
3-
4-
saml_target_url: ""
5-
saml_slo_target_url: ""
2+
saml_enabled:
3+
default: false
4+
area: "saml"
65

7-
saml_name_identifier_format: ""
6+
saml_target_url:
7+
default: ""
8+
area: "saml"
9+
saml_slo_target_url:
10+
default: ""
11+
area: "saml"
812

13+
saml_name_identifier_format:
14+
default: ""
15+
area: "saml"
916
saml_cert:
1017
default: ""
1118
textarea: true
12-
saml_cert_fingerprint: ""
19+
area: "saml"
20+
saml_cert_fingerprint:
21+
default: ""
22+
area: "saml"
1323
saml_cert_fingerprint_algorithm:
1424
type: enum
1525
default: SHA1
@@ -18,83 +28,155 @@ saml:
1828
- SHA256
1929
- SHA384
2030
- SHA512
31+
area: "saml"
2132
saml_cert_multi:
2233
default: ""
2334
textarea: true
24-
35+
area: "saml"
2536
saml_request_method:
2637
type: enum
2738
default: GET
2839
choices:
2940
- GET
3041
- POST
42+
area: "saml"
3143
saml_sp_certificate:
3244
default: ""
3345
textarea: true
46+
area: "saml"
3447
saml_sp_private_key:
3548
default: ""
3649
textarea: true
37-
saml_authn_requests_signed: false
38-
saml_want_assertions_signed: false
39-
saml_logout_requests_signed: false
40-
saml_logout_responses_signed: false
50+
area: "saml"
51+
saml_authn_requests_signed:
52+
default: false
53+
area: "saml"
54+
saml_want_assertions_signed:
55+
default: false
56+
area: "saml"
57+
saml_logout_requests_signed:
58+
default: false
59+
area: "saml"
60+
saml_logout_responses_signed:
61+
default: false
62+
area: "saml"
4163

4264
saml_request_attributes:
4365
type: list
4466
default: ""
67+
area: "saml"
4568
saml_attribute_statements:
4669
type: list
4770
default: ""
48-
saml_use_attributes_uid: false
71+
area: "saml"
72+
saml_use_attributes_uid:
73+
default: false
74+
area: "saml"
4975

50-
saml_skip_email_validation: false
76+
saml_skip_email_validation:
77+
default: false
78+
area: "saml"
5179
saml_validate_email_fields:
5280
type: list
5381
default: ""
54-
saml_default_emails_valid: true
82+
area: "saml"
83+
saml_default_emails_valid:
84+
default: true
85+
area: "saml"
5586

56-
saml_clear_username: false
57-
saml_omit_username: false
58-
saml_auto_create_account: false
87+
saml_clear_username:
88+
default: false
89+
area: "saml"
90+
saml_omit_username:
91+
default: false
92+
area: "saml"
93+
saml_auto_create_account:
94+
default: false
95+
area: "saml"
5996

60-
saml_sync_groups: false
61-
saml_groups_fullsync: false
97+
saml_sync_groups:
98+
default: false
99+
area: "saml"
100+
saml_groups_fullsync:
101+
default: false
102+
area: "saml"
62103
saml_groups_attribute:
63104
type: list
64105
default: "memberOf"
65-
saml_groups_use_full_name: false
66-
saml_groups_ldap_leafcn: false
106+
area: "saml"
107+
saml_groups_use_full_name:
108+
default: false
109+
area: "saml"
110+
saml_groups_ldap_leafcn:
111+
default: false
112+
area: "saml"
113+
67114
saml_sync_groups_list:
68115
type: list
69116
default: ""
117+
area: "saml"
70118

71119
saml_user_field_statements:
72120
type: list
73121
default: ""
122+
area: "saml"
74123

75-
saml_sync_email: false
124+
saml_sync_email:
125+
default: false
126+
area: "saml"
76127

77-
saml_sync_moderator: false
78-
saml_moderator_attribute: "isModerator"
79-
saml_sync_admin: false
80-
saml_admin_attribute: "isAdmin"
81-
saml_sync_trust_level: false
82-
saml_trust_level_attribute: "trustLevel"
83-
saml_sync_locale: false
84-
saml_locale_attribute: "locale"
128+
saml_sync_moderator:
129+
default: false
130+
area: "saml"
131+
saml_moderator_attribute:
132+
default: "isModerator"
133+
area: "saml"
134+
saml_sync_admin:
135+
default: false
136+
area: "saml"
137+
saml_admin_attribute:
138+
default: "isAdmin"
139+
area: "saml"
140+
saml_sync_trust_level:
141+
default: false
142+
area: "saml"
143+
saml_trust_level_attribute:
144+
default: "trustLevel"
145+
area: "saml"
146+
saml_sync_locale:
147+
default: false
148+
area: "saml"
149+
saml_locale_attribute:
150+
default: "locale"
151+
area: "saml"
85152

86153
saml_forced_domains:
87154
type: list
88155
default: ""
156+
area: "saml"
89157

90-
saml_log_auth: false
91-
saml_debug_auth: false
92-
saml_base_url: ""
158+
saml_log_auth:
159+
default: false
160+
area: "saml"
161+
saml_debug_auth:
162+
default: false
163+
area: "saml"
164+
saml_base_url:
165+
default: ""
166+
area: "saml"
93167
saml_replay_protection_enabled:
94168
default: false
95169
hidden: true
170+
area: "saml"
171+
172+
saml_can_connect_existing_user:
173+
default: false
174+
area: "saml"
96175

97-
saml_can_connect_existing_user: false
98-
saml_can_revoke: false
176+
saml_can_revoke:
177+
default: false
178+
area: "saml"
99179

100-
saml_icon: user
180+
saml_icon:
181+
default: "user"
182+
area: "saml"

plugin.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ def self.is_saml_forced_domain?(email)
5252
end
5353
end
5454

55+
register_site_setting_area("saml")
56+
register_admin_config_login_route("saml")
57+
5558
after_initialize do
5659
if !!GlobalSetting.try("saml_target_url")
5760
# Configured via environment variables. Hide all the site settings

0 commit comments

Comments
 (0)