gogentooss / samlbase
Library for SAML2 Service Providers in PHP
This package's canonical repository appears to be gone and the package has been frozen as a result.
Installs: 20 409
Dependents: 0
Suggesters: 0
Security: 1
Stars: 12
Watchers: 5
Forks: 5
Open Issues: 2
Requires
- guzzlehttp/guzzle: ^7.5
- robrichards/xmlseclibs: ~3.1.0
- symfony/dependency-injection: ^5.4
- twig/twig: ^3.4
README
##Introduction Build a feature rich SAML Service Provider that is able to communicate to literally any SAML2 Identity Provider. It covers almost the full scope of SAML2 and the base is increasing.
The library is used to connect global market leaders to their SAML2 Identity Providers.
##Features
- Resolve the Metadata from the Identity Provider
- Automatic Service Provider Metadata to exchange with the Identity Provider
- Authenticate via POST and Redirect Bindings
- Assertion Consumer Service
- Artifact Resolution with Redirect and POST Bindings using HTTP-Artifact
- Handle the Authentication response from the Identity Provider
- Single Logout via POST and Redirect
- Identity Provider initiated Single Logout
- Attributes mapping
- Sign and Verify all requests and metadata
- Multiple NameID Formats
- Encryption and Decryption
##Setup composer require gogentooss/samlbase
Coming soon
1. Add Scoping and Conditions to AuthnRequest
2. Add AttributeQuery and AttributeResponse
3. Apply Assertions
4. Support multiple identifier types (BaseID, NameID, EncryptedID)
5. Add Statement Element support
6. Add Advice Element support
7. Increase the SAML2 scope compatibility of the library (Continuous, version 1.1.0 has a lot of these already)
8. Add the SOAP Binding for ACS
Examples (relative to package root)
/example/metadata.php - Service Provider Metadata
/example/index.php - Example AuthNRequest (Redirect and POST binding)
/example/response.php - Example AuthNResponse target file (POST Binding)
/example/attributes.php - WIP AttributeQuery request after being logged in (requires attributequery service on the IDP)
/example/logout.php - Logout request
/example/logoutresponse.php - Example LogoutResponse handling
License information
This code is released under the OSL v3 license
Info about the license can be found here: https://opensource.org/licenses/OSL-3.0