e36d7928e4
add New fields for - assertion_valid_not_before - assertion_valid_not_on_or_after - session_valid_not_on_or_after allow flexible time durations for these fields fall back to Provider's ACS if none is specified in AuthNRequest
43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
"""passbook SAML SP Forms"""
|
|
|
|
from django import forms
|
|
from django.contrib.admin.widgets import FilteredSelectMultiple
|
|
from django.utils.translation import gettext as _
|
|
|
|
from passbook.admin.forms.source import SOURCE_FORM_FIELDS
|
|
from passbook.providers.saml.utils.cert import CertificateBuilder
|
|
from passbook.sources.saml.models import SAMLSource
|
|
|
|
|
|
class SAMLSourceForm(forms.ModelForm):
|
|
"""SAML Provider form"""
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
super().__init__(*args, **kwargs)
|
|
builder = CertificateBuilder()
|
|
builder.build()
|
|
self.fields["signing_cert"].initial = builder.certificate
|
|
|
|
class Meta:
|
|
|
|
model = SAMLSource
|
|
fields = SOURCE_FORM_FIELDS + [
|
|
"entity_id",
|
|
"idp_url",
|
|
"idp_logout_url",
|
|
"auto_logout",
|
|
"signing_cert",
|
|
]
|
|
labels = {
|
|
"entity_id": "Entity ID",
|
|
"idp_url": "IDP URL",
|
|
"idp_logout_url": "IDP Logout URL",
|
|
}
|
|
widgets = {
|
|
"name": forms.TextInput(),
|
|
"policies": FilteredSelectMultiple(_("policies"), False),
|
|
"entity_id": forms.TextInput(),
|
|
"idp_url": forms.TextInput(),
|
|
"idp_logout_url": forms.TextInput(),
|
|
}
|