Proyectos de Subversion LeadersLinked - Services

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 345
Línea 1... Línea 1...
1
<?php
1
<?php
2
 
-
 
3
declare(strict_types=1);
2
declare(strict_types = 1);
4
 
-
 
5
namespace LeadersLinked\Authentication;
3
namespace LeadersLinked\Authentication;
Línea 6... Línea 4...
6
 
4
 
7
use Laminas\Authentication\Adapter\AdapterInterface as AuthAdapterInterface; 
5
use Laminas\Authentication\Adapter\AdapterInterface as AuthAdapterInterface;
8
use Laminas\Authentication\Result;
6
use Laminas\Authentication\Result;
9
use Laminas\Db\Adapter\AdapterInterface;
7
use Laminas\Db\Adapter\AdapterInterface;
10
use Laminas\Log\LoggerInterface;
8
use Laminas\Log\LoggerInterface;
11
use LeadersLinked\Model\User;
9
use LeadersLinked\Model\User;
Línea 15... Línea 13...
15
use LeadersLinked\Mapper\UserProfileMapper;
13
use LeadersLinked\Mapper\UserProfileMapper;
16
use LeadersLinked\Mapper\UserProviderMapper;
14
use LeadersLinked\Mapper\UserProviderMapper;
Línea 17... Línea 15...
17
 
15
 
18
class AuthSocialAdapter implements AuthAdapterInterface
16
class AuthSocialAdapter implements AuthAdapterInterface
-
 
17
{
19
{
18
 
20
    /**
19
    /**
21
     *
20
     *
22
     * @var AdapterInterface
21
     * @var AdapterInterface
23
     */
22
     */
Línea 24... Línea 23...
24
    private $adapter;
23
    private $adapter;
25
 
24
 
26
    /**
25
    /**
27
     * 
26
     *
28
     * @var string
27
     * @var string
29
     */
28
     */
30
    private $id;
29
    private $id;
31
    
30
 
32
    /**
31
    /**
33
     *
32
     *
34
     * @var string
33
     * @var string
35
     */
-
 
Línea 36... Línea 34...
36
    private $provider;
34
     */
37
    
35
    private $provider;
38
 
36
 
39
    /**
37
    /**
40
     * 
38
     *
41
     * @param AdapterInterface $adapter
39
     * @param AdapterInterface $adapter
42
     */
40
     */
43
    public function __construct(AdapterInterface $adapter)
41
    public function __construct(AdapterInterface $adapter)
Línea 44... Línea 42...
44
    {
42
    {
45
        $this->adapter = $adapter; 
43
        $this->adapter = $adapter;
46
    }
44
    }
47
 
45
 
48
    /**
46
    /**
49
     * 
47
     *
50
     * @param string $id
48
     * @param string $id
51
     * @param string $provider
49
     * @param string $provider
52
     */
50
     */
53
    public function setData($id, $provider)
51
    public function setData($id, $provider)
54
    {
52
    {
55
        $this->id = $id;
53
        $this->id = $id;
56
        $this->provider = $provider;
54
        $this->provider = $provider;
57
    }
55
    }
58
    
56
 
59
    /**
57
    /**
60
     * 
58
     *
61
     * {@inheritDoc}
59
     * {@inheritdoc}
62
     * @see \Laminas\Authentication\Adapter\AdapterInterface::authenticate()
60
     * @see \Laminas\Authentication\Adapter\AdapterInterface::authenticate()
63
     */
61
     */
64
    public function authenticate()
62
    public function authenticate()
65
    {
63
    {
66
        $userProviderMapper = UserProviderMapper::getInstance($this->adapter);
64
        $userProviderMapper = UserProviderMapper::getInstance($this->adapter);
-
 
65
        $userProvider = $userProviderMapper->fetchOneByIdAndProdiver($this->id, $this->provider);
67
        $userProvider = $userProviderMapper->fetchOneByIdAndProdiver($this->id, $this->provider);
66
 
68
        
67
        if (! $userProvider) {
69
        if(!$userProvider) {
68
            return new Result(Result::FAILURE_IDENTITY_NOT_FOUND, null, [
70
            return new Result(Result::FAILURE_IDENTITY_NOT_FOUND, null, ['ERROR_USER_PROVIDER_NOT_FOUND']);
69
                'ERROR_USER_PROVIDER_NOT_FOUND'
71
            
70
            ]);
72
        }
-
 
Línea 73... Línea 71...
73
        
71
        }
74
        $userMapper = UserMapper::getInstance($this->adapter);
72
 
-
 
73
        $userMapper = UserMapper::getInstance($this->adapter);
-
 
74
        $user = $userMapper->fetchOne($userProvider->user_id);
75
        $user = $userMapper->fetchOne($userProvider->user_id);
75
 
76
        
76
        if (User::EMAIL_VERIFIED_NO == $user->email_verified) {
77
 
77
            return new Result(Result::FAILURE_UNCATEGORIZED, null, [
-
 
78
                'ERROR_USER_EMAIL_HASNT_BEEN_VARIFIED'
-
 
79
            ]);
78
        if(User::EMAIL_VERIFIED_NO == $user->email_verified) {
80
        }
79
            return new Result(Result::FAILURE_UNCATEGORIZED, null, ['ERROR_USER_EMAIL_HASNT_BEEN_VARIFIED']);
81
        if (User::BLOCKED_YES == $user->blocked) {
80
        }
82
            return new Result(Result::FAILURE_UNCATEGORIZED, null, [
81
        if(User::BLOCKED_YES == $user->blocked) {
83
                'ERROR_USER_IS_BLOCKED'
-
 
84
            ]);
-
 
85
        }
82
            return new Result(Result::FAILURE_UNCATEGORIZED, null, ['ERROR_USER_IS_BLOCKED']);
86
 
83
        }
87
        if (User::STATUS_INACTIVE == $user->status) {
84
        
88
            return new Result(Result::FAILURE_UNCATEGORIZED, null, [
85
        if(User::STATUS_INACTIVE == $user->status) {
89
                'ERROR_USER_IS_INACTIVE'
-
 
90
            ]);
-
 
91
        }
86
            return new Result(Result::FAILURE_UNCATEGORIZED, null, ['ERROR_USER_IS_INACTIVE']);
92
 
87
        } 
-
 
88
        
93
        if (User::REQUEST_ACCESS_PENDING == $user->request_access) {
89
        if(User::REQUEST_ACCESS_PENDING == $user->request_access) {
94
            return new Result(Result::FAILURE_UNCATEGORIZED, null, [
90
            return new Result(Result::FAILURE_UNCATEGORIZED, null, ['ERROR_USER_REQUEST_ACCESS_IS_PENDING']);
95
                'ERROR_USER_REQUEST_ACCESS_IS_PENDING'
-
 
96
            ]);
-
 
97
        }
91
        }
98
 
Línea 92... Línea 99...
92
        
99
        if (User::REQUEST_ACCESS_REJECTED == $user->request_access) {
93
        
100
            return new Result(Result::FAILURE_UNCATEGORIZED, null, [
94
        if(User::REQUEST_ACCESS_REJECTED == $user->request_access) {
101
                'ERROR_USER_REQUEST_ACCESS_IS_REJECTED'
95
            return new Result(Result::FAILURE_UNCATEGORIZED, null, ['ERROR_USER_REQUEST_ACCESS_IS_REJECTED']);
102
            ]);
96
        }
103
        }
97
 
104
 
98
        $user->login_attempt = 0;
105
        $user->login_attempt = 0;
99
        $userMapper->update($user);
106
        $userMapper->update($user);
100
        
107
 
101
        $data = [
108
        $data = [
102
            'user_id' => $user->id,
109
            'user_id' => $user->id,
103
            'device_id' => '',
110
            'device_id' => ''