<commit_before>---
    title: LightSAML Core Metadata Model
    aside: aside-lightsaml.html
    active: components
    github: https://github.com/lightSAML/lightSAML
---

Protocol classes implements the SAML Protocols defined in
[SAML 2.0 core](http://www.oasis-open.org/committees/download.php/35711/sstc-saml-core-errata-2.0-wd-06-diff.pdf). Root
objects of the SAML protocol are:

 * [AuthnRequest](#authnrequest)
 * [Response](#response)
 * [LogoutRequest](#logoutrequest)
 * [LogoutResponse](#logoutresponse)

![LightSAML Protocol overview](SAML-Protocol.png)

[comment]: <> (  [SamlMessage|+ID;+Version;+IssueInstant;+Destination{bg:wheat}]^-[AbstractRequest{bg:wheat}]       )
[comment]: <> (  [SamlMessage]^-[StatusResponse{bg:wheat}]                                                          )
[comment]: <> (  [SamlMessage]<>-0..1>[Signature]                                                                   )
[comment]: <> (  [SamlMessage]<>-0..1>[Issuer]                                                                      )
[comment]: <> (  [AbstractRequest]^-[AuthnRequest]                                                                  )
[comment]: <> (  [AbstractRequest]^-[LogoutRequest]                                                                 )
[comment]: <> (  [StatusResponse]^-[Response]                                                                       )
[comment]: <> (  [StatusResponse]^-[LogoutResponse]                                                                 )

Although SAML 2.0 specification does not define common ancessor, in LightSAML all protocol artifacts that can be sent by HTTP-POST or
HTTP-Redirect bindings are abstracted into common ancessor class ``SamlMessage``



## AuthnRequest

``AuthnRequest`` is an artifact sent from SP to IDP to initiate authentication process. It must contain the issuer, and eventually
be signed.

![SAML AuthnRequest](SAMl-AuthnRequest.png)

<commit_msg>Update index.md<commit_after>---
    title: LightSAML Core Metadata Model
    aside: aside-lightsaml.html
    active: components
    github: https://github.com/lightSAML/lightSAML
---

Protocol classes implements the SAML Protocols defined in
[SAML 2.0 core](http://www.oasis-open.org/committees/download.php/35711/sstc-saml-core-errata-2.0-wd-06-diff.pdf). Root
objects of the SAML protocol are:

 * [AuthnRequest](#authnrequest)
 * [Response](#response)
 * [LogoutRequest](#logoutrequest)
 * [LogoutResponse](#logoutresponse)

<img src="SAML-Protocol.png" alt="LightSAML Protocol overview" style="max-width: 90%">

[comment]: <> (  [SamlMessage|+ID;+Version;+IssueInstant;+Destination{bg:wheat}]^-[AbstractRequest{bg:wheat}]       )
[comment]: <> (  [SamlMessage]^-[StatusResponse{bg:wheat}]                                                          )
[comment]: <> (  [SamlMessage]<>-0..1>[Signature]                                                                   )
[comment]: <> (  [SamlMessage]<>-0..1>[Issuer]                                                                      )
[comment]: <> (  [AbstractRequest]^-[AuthnRequest]                                                                  )
[comment]: <> (  [AbstractRequest]^-[LogoutRequest]                                                                 )
[comment]: <> (  [StatusResponse]^-[Response]                                                                       )
[comment]: <> (  [StatusResponse]^-[LogoutResponse]                                                                 )

Although SAML 2.0 specification does not define common ancessor, in LightSAML all protocol artifacts that can be sent by HTTP-POST or
HTTP-Redirect bindings are abstracted into common ancessor class ``SamlMessage``



## AuthnRequest

``AuthnRequest`` is an artifact sent from SP to IDP to initiate authentication process. It must contain the issuer, and eventually
be signed.

![SAML AuthnRequest](SAMl-AuthnRequest.png)


{'fraction_non_alphanumeric': 0.12058000508776393, 'fraction_numerical': 0.009157975069956754, 'mean_word_length': 1.8206599713055953, 'pattern_counts': {'":': 0, '<': 24, '<?xml version=': 0, '>': 28, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 32, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3947934', 'n_tokens_mistral': 1064, 'n_tokens_neox': 960, 'n_words': 221}