Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…into theodor-franke-master
  • Loading branch information
ssddanbrown committed Oct 21, 2021
2 parents 129f328 + 07408ec commit 2e9ac21
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 4 deletions.
5 changes: 5 additions & 0 deletions .env.example.complete
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,11 @@ SAML2_ONELOGIN_OVERRIDES=null
SAML2_DUMP_USER_DETAILS=false
SAML2_AUTOLOAD_METADATA=false
SAML2_IDP_AUTHNCONTEXT=true
SAML2_SP_CERTIFICATE=null
SAML2_SP_PRIVATEKEY=null
SAML2_SP_NAME_ID_Format=null
SAML2_SP_NAME_ID_SP_NAME_QUALIFIER=null
SAML2_RETRIEVE_PARAMETERS_FROM_SERVER=false

# SAML group sync configuration
# Refer to https://www.bookstackapp.com/docs/admin/saml2-auth/
Expand Down
10 changes: 8 additions & 2 deletions app/Auth/Access/Saml2Service.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,11 @@ public function logout(): array
$returnRoute = url('/');

try {
$url = $toolKit->logout($returnRoute, [], null, null, true);
$email = auth()->user()['email'];
$nameIdFormat = env('SAML2_SP_NAME_ID_Format', null);
$nameIdSPNameQualifier = env('SAML2_SP_NAME_ID_SP_NAME_QUALIFIER', null);

$url = $toolKit->logout($returnRoute, [], $email, null, true, $nameIdFormat, null, $nameIdSPNameQualifier);
$id = $toolKit->getLastRequestID();
} catch (Error $error) {
if ($error->getCode() !== Error::SAML_SINGLE_LOGOUT_NOT_SUPPORTED) {
Expand Down Expand Up @@ -124,7 +128,9 @@ public function processAcsResponse(string $requestId, string $samlResponse): ?Us
public function processSlsResponse(?string $requestId): ?string
{
$toolkit = $this->getToolkit();
$redirect = $toolkit->processSLO(true, $requestId, false, null, true);
$retrieveParametersFromServer = env('SAML2_RETRIEVE_PARAMETERS_FROM_SERVER', false);

$redirect = $toolkit->processSLO(true, $requestId, $retrieveParametersFromServer, null, true);

$errors = $toolkit->getErrors();

Expand Down
7 changes: 5 additions & 2 deletions app/Config/saml2.php
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@
'NameIDFormat' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress',
// Usually x509cert and privateKey of the SP are provided by files placed at
// the certs folder. But we can also provide them with the following parameters
'x509cert' => '',
'privateKey' => '',
'x509cert' => env('SAML2_SP_CERTIFICATE', ''),
'privateKey' => env('SAML2_SP_PRIVATEKEY', ''),
],
// Identity Provider Data that we want connect with our SP
'idp' => [
Expand Down Expand Up @@ -147,6 +147,9 @@
// Multiple forced values can be passed via a space separated array, For example:
// SAML2_IDP_AUTHNCONTEXT="urn:federation:authentication:windows urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"
'requestedAuthnContext' => is_string($SAML2_IDP_AUTHNCONTEXT) ? explode(' ', $SAML2_IDP_AUTHNCONTEXT) : $SAML2_IDP_AUTHNCONTEXT,
'logoutRequestSigned' => env('SAML2_LOGOUT_REQUEST_SIGNED', false),
'logoutResponseSigned' => env('SAML2_LOGOUT_RESPONSE_SIGNED', false),
'lowercaseUrlencoding' => env('SAML2_LOWERCASE_URLENCODING', false),
],
],

Expand Down

0 comments on commit 2e9ac21

Please sign in to comment.