Blame view

vendor/yiisoft/yii2/web/IdentityInterface.php 3.24 KB
abf1649b   andryeyev   Чистая установка ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
  <?php
  /**
   * @link http://www.yiiframework.com/
   * @copyright Copyright (c) 2008 Yii Software LLC
   * @license http://www.yiiframework.com/license/
   */
  
  namespace yii\web;
  
  /**
   * IdentityInterface is the interface that should be implemented by a class providing identity information.
   *
   * This interface can typically be implemented by a user model class. For example, the following
   * code shows how to implement this interface by a User ActiveRecord class:
   *
   * ~~~
   * class User extends ActiveRecord implements IdentityInterface
   * {
   *     public static function findIdentity($id)
   *     {
   *         return static::findOne($id);
   *     }
   *
   *     public static function findIdentityByAccessToken($token, $type = null)
   *     {
   *         return static::findOne(['access_token' => $token]);
   *     }
   *
   *     public function getId()
   *     {
   *         return $this->id;
   *     }
   *
   *     public function getAuthKey()
   *     {
   *         return $this->authKey;
   *     }
   *
   *     public function validateAuthKey($authKey)
   *     {
   *         return $this->authKey === $authKey;
   *     }
   * }
   * ~~~
   *
   * @author Qiang Xue <qiang.xue@gmail.com>
   * @since 2.0
   */
  interface IdentityInterface
  {
      /**
       * Finds an identity by the given ID.
       * @param string|integer $id the ID to be looked for
       * @return IdentityInterface the identity object that matches the given ID.
       * Null should be returned if such an identity cannot be found
       * or the identity is not in an active state (disabled, deleted, etc.)
       */
      public static function findIdentity($id);
  
      /**
       * Finds an identity by the given token.
       * @param mixed $token the token to be looked for
       * @param mixed $type the type of the token. The value of this parameter depends on the implementation.
       * For example, [[\yii\filters\auth\HttpBearerAuth]] will set this parameter to be `yii\filters\auth\HttpBearerAuth`.
       * @return IdentityInterface the identity object that matches the given token.
       * Null should be returned if such an identity cannot be found
       * or the identity is not in an active state (disabled, deleted, etc.)
       */
      public static function findIdentityByAccessToken($token, $type = null);
  
      /**
       * Returns an ID that can uniquely identify a user identity.
       * @return string|integer an ID that uniquely identifies a user identity.
       */
      public function getId();
  
      /**
       * Returns a key that can be used to check the validity of a given identity ID.
       *
       * The key should be unique for each individual user, and should be persistent
       * so that it can be used to check the validity of the user identity.
       *
       * The space of such keys should be big enough to defeat potential identity attacks.
       *
       * This is required if [[User::enableAutoLogin]] is enabled.
       * @return string a key that is used to check the validity of a given identity ID.
       * @see validateAuthKey()
       */
      public function getAuthKey();
  
      /**
       * Validates the given auth key.
       *
       * This is required if [[User::enableAutoLogin]] is enabled.
       * @param string $authKey the given auth key
       * @return boolean whether the given auth key is valid.
       * @see getAuthKey()
       */
      public function validateAuthKey($authKey);
  }