mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-11 12:03:14 +00:00
change behavior api_token_header
This commit is contained in:
@@ -6,8 +6,6 @@ main:
|
|||||||
maintenance: false
|
maintenance: false
|
||||||
languages: []
|
languages: []
|
||||||
key: ''
|
key: ''
|
||||||
api_require_ssl: true
|
|
||||||
api_token_header: false
|
|
||||||
delete-account-require-email-confirmation: true
|
delete-account-require-email-confirmation: true
|
||||||
database:
|
database:
|
||||||
host: 127.0.0.1
|
host: 127.0.0.1
|
||||||
@@ -232,6 +230,10 @@ api_cors_paths: []
|
|||||||
session:
|
session:
|
||||||
idle: 0
|
idle: 0
|
||||||
lifetime: 604800 # 1 week
|
lifetime: 604800 # 1 week
|
||||||
|
registry:
|
||||||
|
api-clients:
|
||||||
|
api_require_ssl: false
|
||||||
|
api_token_header_only: false
|
||||||
crossdomain:
|
crossdomain:
|
||||||
site-control: 'master-only'
|
site-control: 'master-only'
|
||||||
allow-access-from:
|
allow-access-from:
|
||||||
|
@@ -52,7 +52,7 @@ bin/setup system:config set workers.queue.worker-queue.vhost /
|
|||||||
|
|
||||||
## enable API and disable ssl on it
|
## enable API and disable ssl on it
|
||||||
/var/alchemy/Phraseanet/bin/setup system:config set registry.api-clients.api-enabled $PHRASEANET_API_ENABLED
|
/var/alchemy/Phraseanet/bin/setup system:config set registry.api-clients.api-enabled $PHRASEANET_API_ENABLED
|
||||||
/var/alchemy/Phraseanet/bin/setup system:config set main.api_require_ssl $PHRASEANET_API_SSL
|
/var/alchemy/Phraseanet/bin/setup system:config set registry.api-clients.api_require_ssl $PHRASEANET_API_SSL
|
||||||
|
|
||||||
# set instance title
|
# set instance title
|
||||||
bin/setup system:config set registry.general.title $PHRASEANET_PROJECT_NAME
|
bin/setup system:config set registry.general.title $PHRASEANET_PROJECT_NAME
|
||||||
|
@@ -282,7 +282,7 @@ class OAuth2Controller extends Controller
|
|||||||
/** @var PropertyAccess $config */
|
/** @var PropertyAccess $config */
|
||||||
$config = $this->app['conf'];
|
$config = $this->app['conf'];
|
||||||
|
|
||||||
if ( ! $request->isSecure() && $config->get(['main', 'api_require_ssl'], true) == true) {
|
if ( ! $request->isSecure() && $config->get(['registry', 'api-clients', 'api_require_ssl'], true) == true) {
|
||||||
throw new HttpException(400, 'This route requires the use of the https scheme: ' . $config->get(['main', 'api_require_ssl']), null, ['content-type' => 'application/json']);
|
throw new HttpException(400, 'This route requires the use of the https scheme: ' . $config->get(['main', 'api_require_ssl']), null, ['content-type' => 'application/json']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,7 +16,7 @@ class Version
|
|||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
private $number = '4.1.1';
|
private $number = '4.1.2';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
|
@@ -537,7 +537,7 @@ class API_OAuth2_Adapter extends OAuth2
|
|||||||
|
|
||||||
public function verifyAccessToken($scope = null, $exit_not_present = true, $exit_invalid = true, $exit_expired = true, $exit_scope = true, $realm = null)
|
public function verifyAccessToken($scope = null, $exit_not_present = true, $exit_invalid = true, $exit_expired = true, $exit_scope = true, $realm = null)
|
||||||
{
|
{
|
||||||
$apiTokenHeader = $this->app['conf']->get(['main', 'api_token_header']);
|
$apiTokenHeader = $this->app['conf']->get(['registry', 'api-clients', 'api_token_header_only']);
|
||||||
|
|
||||||
$useTokenHeader = $this->useTokenHeaderChoice($apiTokenHeader);
|
$useTokenHeader = $this->useTokenHeaderChoice($apiTokenHeader);
|
||||||
|
|
||||||
@@ -816,15 +816,13 @@ class API_OAuth2_Adapter extends OAuth2
|
|||||||
/**
|
/**
|
||||||
* Get the correct constante to call on Oauth2
|
* Get the correct constante to call on Oauth2
|
||||||
*
|
*
|
||||||
* @param $apiTokenHeader
|
* @param $apiTokenHeaderOnly
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
private function useTokenHeaderChoice($apiTokenHeader)
|
private function useTokenHeaderChoice($apiTokenHeaderOnly)
|
||||||
{
|
{
|
||||||
if ($apiTokenHeader === true) {
|
if ($apiTokenHeaderOnly === true) {
|
||||||
return Oauth2::TOKEN_ONLY_IN_HEADER;
|
return Oauth2::TOKEN_ONLY_IN_HEADER;
|
||||||
} elseif ($apiTokenHeader === false) {
|
|
||||||
return Oauth2::TOKEN_ONLY_IN_GETPOST;
|
|
||||||
} else {
|
} else {
|
||||||
return Oauth2::TOKEN_AUTO_FIND;
|
return Oauth2::TOKEN_AUTO_FIND;
|
||||||
}
|
}
|
||||||
|
76
lib/classes/patch/412.php
Normal file
76
lib/classes/patch/412.php
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Alchemy\Phrasea\Application;
|
||||||
|
|
||||||
|
class patch_412 implements patchInterface
|
||||||
|
{
|
||||||
|
/** @var string */
|
||||||
|
private $release = '4.1.2';
|
||||||
|
|
||||||
|
/** @var array */
|
||||||
|
private $concern = [base::APPLICATION_BOX];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the release version.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_release()
|
||||||
|
{
|
||||||
|
return $this->release;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function concern()
|
||||||
|
{
|
||||||
|
return $this->concern;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function require_all_upgrades()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function getDoctrineMigrations()
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Apply patch.
|
||||||
|
*
|
||||||
|
* @param base $base The Application Box or the Data Boxes where the patch is applied.
|
||||||
|
* @param \Alchemy\Phrasea\Application $app
|
||||||
|
*
|
||||||
|
* @return boolean returns true if the patch succeed.
|
||||||
|
*/
|
||||||
|
public function apply(base $appbox, Application $app)
|
||||||
|
{
|
||||||
|
// move api_require_ssl place in configuration.yml
|
||||||
|
if ($app['conf']->has(['main', 'api_require_ssl'])) {
|
||||||
|
$apiRequireSslValue = $app['conf']->get(['main', 'api_require_ssl']);
|
||||||
|
$app['conf']->remove(['main', 'api_require_ssl']);
|
||||||
|
$app['conf']->set(['registry', 'api-clients', 'api_require_ssl'], $apiRequireSslValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
// change api_token_header place and name in configuration.yml
|
||||||
|
if ($app['conf']->has(['main', 'api_token_header'])) {
|
||||||
|
$apiTokenHeaderValue = $app['conf']->get(['main', 'api_token_header']);
|
||||||
|
$app['conf']->remove(['main', 'api_token_header']);
|
||||||
|
$app['conf']->set(['registry', 'api-clients', 'api_token_header_only'], $apiTokenHeaderValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
// add svg in extension-mapping
|
||||||
|
if (!$app['conf']->has(['border-manager', 'extension-mapping', 'svg'])) {
|
||||||
|
$app['conf']->set(['border-manager', 'extension-mapping', 'svg'], 'image/svg+xml');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -9,8 +9,6 @@ languages:
|
|||||||
main:
|
main:
|
||||||
maintenance: false
|
maintenance: false
|
||||||
key: ''
|
key: ''
|
||||||
api_require_ssl: true
|
|
||||||
api_token_header: false
|
|
||||||
database:
|
database:
|
||||||
host: 'sql-host'
|
host: 'sql-host'
|
||||||
port: 3306
|
port: 3306
|
||||||
|
@@ -50,7 +50,7 @@
|
|||||||
chdir: /vagrant/
|
chdir: /vagrant/
|
||||||
|
|
||||||
- name: Disable API SSL requirement
|
- name: Disable API SSL requirement
|
||||||
shell: php bin/setup system:config set main.api_require_ssl false
|
shell: php bin/setup system:config set registry.api-clients.api_require_ssl false
|
||||||
args:
|
args:
|
||||||
chdir: /vagrant/
|
chdir: /vagrant/
|
||||||
|
|
||||||
|
@@ -5,7 +5,6 @@ languages:
|
|||||||
main:
|
main:
|
||||||
maintenance: false
|
maintenance: false
|
||||||
key: ''
|
key: ''
|
||||||
api_require_ssl: true
|
|
||||||
delete-account-require-email-confirmation: true
|
delete-account-require-email-confirmation: true
|
||||||
database:
|
database:
|
||||||
host: 'sql-host'
|
host: 'sql-host'
|
||||||
|
Reference in New Issue
Block a user