diff --git a/lcs/root.ptl b/lcs/root.ptl index b0a3e17..7f7e551 100644 --- a/lcs/root.ptl +++ b/lcs/root.ptl @@ -101,6 +101,9 @@ class RootDirectory(Directory): def unlogged_page [html] (self): form = Form(enctype='multipart/form-data') form.add(HtmlWidget, '
') + form.add(SingleSelectWidget, 'binding', + title = _('Protocol Binding for '), + options = [(None, ''), ('post', 'POST'), ('artifact', 'Artifact')]) form.add(CheckboxWidget, 'force_authn', value = False, title = _('Force Authentication (ForceAuthn)')) form.add(CheckboxWidget, 'is_passive', @@ -188,6 +191,12 @@ class RootDirectory(Directory): elif nid_format == 'none': login.request.nameIDPolicy.format = lasso.SAML2_NAME_IDENTIFIER_FORMAT_NONE + binding = form.get_widget('binding').parse() + if binding == 'artifact': + login.request.protocolBinding = lasso.SAML2_METADATA_BINDING_ARTIFACT + elif binding == 'post': + login.request.protocolBinding = lasso.SAML2_METADATA_BINDING_POST + login.request.nameIDPolicy.allowCreate = form.get_widget('allow_create').parse() login.request.forceAuthn = form.get_widget('force_authn').parse() login.request.isPassive = form.get_widget('is_passive').parse()