|
@@ -91,16 +91,17 @@ class OAuthProxyListener implements ListenerInterface
|
|
|
// el header contiene php-auth-user && php-auth-pw
|
|
|
$error = !$this->PHPAuth($request);
|
|
|
} elseif ($request->headers->has("authorization")) {
|
|
|
- $messageLog = "AUTHORIZATION (IP: " . $request->getClientIp() . ")";
|
|
|
+ $messageLog = "AUTHORIZATION A (IP: " . $request->getClientIp() . ")";
|
|
|
// el header contiene authorization
|
|
|
$error = !$this->PHPAuthorization($request);
|
|
|
} elseif ($request->getClientIp()) {
|
|
|
- $messageLog = "AUTHORIZATION (IP: " . $request->getClientIp() . ")";
|
|
|
+ $messageLog = "AUTHORIZATION B (IP: " . $request->getClientIp() . ")";
|
|
|
$error = !$this->clientIp($request);
|
|
|
} else {
|
|
|
$messageLog = "NO REFERENCE. DENY ALL.";
|
|
|
$error = true;
|
|
|
}
|
|
|
+
|
|
|
if ($error) {
|
|
|
$this->logger->info("ERROR - " . $messageLog);
|
|
|
$this->deny($event);
|
|
@@ -172,11 +173,11 @@ class OAuthProxyListener implements ListenerInterface
|
|
|
|
|
|
/**
|
|
|
* @param Request $request
|
|
|
- * @return bool Retorna TRUE si pudo crear y setear el CustomOAuthUser
|
|
|
+ * @return bool Retorna TRUE si puaccessTokenServicedo crear y setear el CustomOAuthUser
|
|
|
*/
|
|
|
private function PHPAuthorization($request)
|
|
|
{
|
|
|
- $authorization = $request->headers->get("authorization");
|
|
|
+ $authorization = $request->headers->get("authorization");
|
|
|
$pieces = explode(' ', $authorization);
|
|
|
$accessToken = array(
|
|
|
'access_token' => $pieces[1],
|
|
@@ -197,6 +198,7 @@ class OAuthProxyListener implements ListenerInterface
|
|
|
private function clientIp($request)
|
|
|
{
|
|
|
$username = $clientIp = $request->getClientIp();
|
|
|
+
|
|
|
if (\AuthBundle\Utils\IpUtils::checkIp($clientIp) === false) {
|
|
|
return false;
|
|
|
}
|
|
@@ -206,10 +208,20 @@ class OAuthProxyListener implements ListenerInterface
|
|
|
);
|
|
|
$auth_info['roles'] = array('ROLE_USER');
|
|
|
// @TODO: Traer la tenencia Base de la app Base
|
|
|
- $tenancy = array(
|
|
|
- 'id' => 1,
|
|
|
- 'name' => 'Tenencia Base',
|
|
|
- );
|
|
|
+
|
|
|
+ $filter = $request->query->get('filters');
|
|
|
+
|
|
|
+ if(isset($filter['tenancyId']) && $filter['tenancyId'] != 1) {
|
|
|
+ $tenancy = array(
|
|
|
+ array('id' => 1,'name' => 'Tenencia Base',),
|
|
|
+ array('id' => (int) $filter['tenancyId'], 'name' => 'Tenancy Fix'));
|
|
|
+ } else {
|
|
|
+ $tenancy = array(array(
|
|
|
+ 'id' => 1,
|
|
|
+ 'name' => 'Tenencia Base',
|
|
|
+ ));
|
|
|
+ }
|
|
|
+
|
|
|
$auth_info['tenancies'] = $auth_info['tenancyCurrent'] = $tenancy;
|
|
|
return $this->createCustomOAuthUser($username, $accessToken, $auth_info);
|
|
|
}
|