Source code for fair_wizard.automation.saml.helpers
from.modelimportSamlUserLoggedInEvent
[docs]defget_first_name(saml_event:SamlUserLoggedInEvent)->str|None:""" Extracts the first name from the SAML event. :param saml_event: SAML event :return: first name if found, None otherwise """forstatementinsaml_event.assertion.attribute_statement:if(statement.friendly_name=="givenName"orstatement.name=="urn:oid:2.5.4.42"):returnstatement.valuereturnNone
[docs]defget_last_name(saml_event:SamlUserLoggedInEvent)->str|None:""" Extracts the last name from the SAML event. :param saml_event: SAML event :return: last name if found, None otherwise """forstatementinsaml_event.assertion.attribute_statement:if(statement.friendly_name=="surname"orstatement.friendly_name=="sn"orstatement.name=="urn:oid:2.5.4.4"):returnstatement.valuereturnNone
[docs]defget_email(saml_event:SamlUserLoggedInEvent)->str|None:""" Extracts the email from the SAML event. :param saml_event: SAML event :return: email if found, None otherwise """forstatementinsaml_event.assertion.attribute_statement:if(statement.friendly_name=="email"orstatement.friendly_name=="mail"orstatement.name=="urn:oid:0.9.2342.19200300.100.1.3"orstatement.name=="urn:oid:1.2.840.113549.1.9.1"):returnstatement.valuereturnNone