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()