diff --git a/application/Espo/Core/Api/Auth.php b/application/Espo/Core/Api/Auth.php index a62dae3745..8aaacc7e4d 100644 --- a/application/Espo/Core/Api/Auth.php +++ b/application/Espo/Core/Api/Auth.php @@ -112,7 +112,8 @@ class Auth $showDialog = ($this->isEntryPoint || !$this->isXMLHttpRequest($request)) && - !$request->getHeader('Referer'); + !$request->getHeader('Referer') && + $request->getMethod() !== Method::POST; $this->handleUnauthorized($response, null, $showDialog); @@ -167,7 +168,8 @@ class Auth if ($result->isFail()) { $showDialog = $this->isEntryPoint && - !$request->getHeader('Referer'); + !$request->getHeader('Referer') && + $request->getMethod() !== Method::POST; $this->handleUnauthorized($response, $result, $showDialog); } diff --git a/application/Espo/Core/Api/Method.php b/application/Espo/Core/Api/Method.php new file mode 100644 index 0000000000..37c0027b8d --- /dev/null +++ b/application/Espo/Core/Api/Method.php @@ -0,0 +1,47 @@ +. + * + * The interactive user interfaces in modified source and object code versions + * of this program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU Affero General Public License version 3. + * + * In accordance with Section 7(b) of the GNU Affero General Public License version 3, + * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. + ************************************************************************/ + +namespace Espo\Core\Api; + +/** + * @since 9.2.0 + */ +class Method +{ + public const HEAD = 'HEAD'; + public const GET = 'GET'; + public const POST = 'POST'; + public const PUT = 'PUT'; + public const PATCH = 'PATCH'; + public const DELETE = 'DELETE'; + public const PURGE = 'PURGE'; + public const OPTIONS = 'OPTIONS'; + public const TRACE = 'TRACE'; + public const CONNECT = 'CONNECT'; +}