X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/a3cf45cfb6078e014b84d10d80ca6f5242acd33f..refs/pull/2902/head:/app/Config/saml2.php diff --git a/app/Config/saml2.php b/app/Config/saml2.php index 2f2ad14f1..3c4319100 100644 --- a/app/Config/saml2.php +++ b/app/Config/saml2.php @@ -1,13 +1,11 @@ env('SAML2_NAME', 'SSO'), - // Toggle whether the SAML2 option is active - 'enabled' => env('SAML2_ENABLED', false), - // Enable registration via SAML2 authentication - 'auto_register' => env('SAML2_AUTO_REGISTER', true), // Dump user details after a login request for debugging purposes 'dump_user_details' => env('SAML2_DUMP_USER_DETAILS', false), @@ -33,7 +31,6 @@ return [ // Overrides, in JSON format, to the configuration passed to underlying onelogin library. 'onelogin_overrides' => env('SAML2_ONELOGIN_OVERRIDES', null), - 'onelogin' => [ // If 'strict' is True, then the PHP Toolkit will reject unsigned // or unencrypted messages if it expects them signed or encrypted @@ -83,8 +80,8 @@ return [ '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' => [ @@ -105,7 +102,7 @@ return [ 'url' => env('SAML2_IDP_SLO', null), // URL location of the IdP where the SP will send the SLO Response (ResponseLocation) // if not set, url for the SLO Request will be used - 'responseUrl' => '', + 'responseUrl' => null, // SAML protocol binding to be used when returning the // message. Onelogin Toolkit supports for this endpoint the // HTTP-Redirect binding only @@ -143,6 +140,17 @@ return [ // ) // ), ], + 'security' => [ + // SAML2 Authn context + // When set to false no AuthContext will be sent in the AuthNRequest, + // When set to true (Default) you will get an AuthContext 'exact' 'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport'. + // 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), + ], ], ];