mirror of
				https://github.com/elyby/oauth2-server.git
				synced 2025-05-31 14:12:07 +05:30 
			
		
		
		
	New entities, traits and interfaces
This commit is contained in:
		
							
								
								
									
										11
									
								
								src/Entities/AccessTokenEntity.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								src/Entities/AccessTokenEntity.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities; | ||||
|  | ||||
| use League\OAuth2\Server\Entities\Interfaces\AccessTokenEntityInterface; | ||||
| use League\OAuth2\Server\Entities\Traits\EntityTrait; | ||||
| use League\OAuth2\Server\Entities\Traits\TokenEntityTrait; | ||||
|  | ||||
| class AccessTokenEntity implements AccessTokenEntityInterface | ||||
| { | ||||
|     use EntityTrait, TokenEntityTrait; | ||||
| } | ||||
							
								
								
									
										15
									
								
								src/Entities/AuthCodeEntity.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								src/Entities/AuthCodeEntity.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities; | ||||
|  | ||||
| use League\OAuth2\Server\Entities\Interfaces\AuthCodeInterface; | ||||
| use League\OAuth2\Server\Entities\Traits\EntityTrait; | ||||
| use League\OAuth2\Server\Entities\Traits\TokenEntityTrait; | ||||
|  | ||||
| /** | ||||
|  * Class AuthCodeEntity | ||||
|  * @package League\OAuth2\Server | ||||
|  */ | ||||
| class AuthCodeEntity implements AuthCodeInterface | ||||
| { | ||||
|     use EntityTrait, TokenEntityTrait; | ||||
| } | ||||
							
								
								
									
										15
									
								
								src/Entities/ClientEntity.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								src/Entities/ClientEntity.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities; | ||||
|  | ||||
| use League\OAuth2\Server\Entities\Interfaces\ClientEntityInterface; | ||||
| use League\OAuth2\Server\Entities\Traits\ClientEntityTrait; | ||||
| use League\OAuth2\Server\Entities\Traits\EntityTrait; | ||||
|  | ||||
| /** | ||||
|  * Class ClientEntity | ||||
|  * @package League\OAuth2\Server | ||||
|  */ | ||||
| class ClientEntity implements ClientEntityInterface | ||||
| { | ||||
|     use EntityTrait, ClientEntityTrait; | ||||
| } | ||||
							
								
								
									
										7
									
								
								src/Entities/Interfaces/AccessTokenEntityInterface.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/Entities/Interfaces/AccessTokenEntityInterface.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities\Interfaces; | ||||
|  | ||||
| interface AccessTokenEntityInterface extends TokenInterface | ||||
| { | ||||
|  | ||||
| } | ||||
							
								
								
									
										7
									
								
								src/Entities/Interfaces/AuthCodeEntityInterface.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/Entities/Interfaces/AuthCodeEntityInterface.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities\Interfaces; | ||||
|  | ||||
| interface AuthCodeInterface extends TokenInterface | ||||
| { | ||||
|  | ||||
| } | ||||
							
								
								
									
										42
									
								
								src/Entities/Interfaces/ClientEntityInterface.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								src/Entities/Interfaces/ClientEntityInterface.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities\Interfaces; | ||||
|  | ||||
| interface ClientEntityInterface | ||||
| { | ||||
|     /** | ||||
|      * Get the client's identifier | ||||
|      * @return string | ||||
|      */ | ||||
|     public function getIdentifier(); | ||||
|  | ||||
|     /** | ||||
|      * Set the client's identifier | ||||
|      * @param $identifier | ||||
|      */ | ||||
|     public function setIdentifier($identifier); | ||||
|  | ||||
|     /** | ||||
|      * Get the client's secret | ||||
|      * @return string | ||||
|      */ | ||||
|     public function getSecret(); | ||||
|  | ||||
|     /** | ||||
|      * Set the client's secret | ||||
|      * @param string $secret | ||||
|      * @return string | ||||
|      */ | ||||
|     public function setSecret($secret); | ||||
|  | ||||
|     /** | ||||
|      * Get the client's name | ||||
|      * @return string | ||||
|      */ | ||||
|     public function getName(); | ||||
|  | ||||
|     /** | ||||
|      * Set the client's name | ||||
|      * @param string $name | ||||
|      */ | ||||
|     public function setName($name); | ||||
| } | ||||
							
								
								
									
										17
									
								
								src/Entities/Interfaces/RefreshTokenEntityInterface.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								src/Entities/Interfaces/RefreshTokenEntityInterface.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities\Interfaces; | ||||
|  | ||||
| interface RefreshTokenEntityInterface extends TokenInterface | ||||
| { | ||||
|     /** | ||||
|      * Set the original access token that the refresh token was associated with | ||||
|      * @param \League\OAuth2\Server\Entities\Interfaces\AccessTokenEntityInterface $accessToken | ||||
|      */ | ||||
|     public function setOriginalAccessToken(AccessTokenEntityInterface $accessToken); | ||||
|  | ||||
|     /** | ||||
|      * Get the access token that the refresh token was originally associated with | ||||
|      * @return \League\OAuth2\Server\Entities\Interfaces\AccessTokenEntityInterface | ||||
|      */ | ||||
|     public function getOriginalAccessToken(); | ||||
| } | ||||
							
								
								
									
										17
									
								
								src/Entities/Interfaces/ScopeEntityInterface.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								src/Entities/Interfaces/ScopeEntityInterface.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities\Interfaces; | ||||
|  | ||||
| interface ScopeEntityInterface | ||||
| { | ||||
|     /** | ||||
|      * Get the scope's identifier | ||||
|      * @return string | ||||
|      */ | ||||
|     public function getIdentifier(); | ||||
|  | ||||
|     /** | ||||
|      * Set the scope's identifier | ||||
|      * @param $identifier | ||||
|      */ | ||||
|     public function setIdentifier($identifier); | ||||
| } | ||||
							
								
								
									
										79
									
								
								src/Entities/Interfaces/TokenInterface.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								src/Entities/Interfaces/TokenInterface.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,79 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities\Interfaces; | ||||
|  | ||||
| interface TokenInterface | ||||
| { | ||||
|     /** | ||||
|      * Get the token's identifier | ||||
|      * @return string | ||||
|      */ | ||||
|     public function getIdentifier(); | ||||
|  | ||||
|     /** | ||||
|      * Set the token's identifier | ||||
|      * @param $identifier | ||||
|      */ | ||||
|     public function setIdentifier($identifier); | ||||
|  | ||||
|     /** | ||||
|      * Get the token's expiry date time | ||||
|      * @return \DateTime | ||||
|      */ | ||||
|     public function getExpiryDateTime(); | ||||
|  | ||||
|     /** | ||||
|      * Set the date time when the token expires | ||||
|      * @param \DateTime $dateTime | ||||
|      */ | ||||
|     public function setExpiryDateTime(\DateTime $dateTime); | ||||
|  | ||||
|     /** | ||||
|      * Set the token's owner | ||||
|      * @param string     $type       The type of the owner (e.g. "user", "client" or something more specific) | ||||
|      * @param string|int $identifier The identifier of the owner | ||||
|      */ | ||||
|     public function setOwner($type, $identifier); | ||||
|  | ||||
|     /** | ||||
|      * Get the token owner's type | ||||
|      * @return string  The type of owner (e.g. "user", "client" or something more specific) | ||||
|      */ | ||||
|     public function getOwnerType(); | ||||
|  | ||||
|     /** | ||||
|      * Get the token owner's identifier | ||||
|      * @return string|int | ||||
|      */ | ||||
|     public function getOwnerIdentifier(); | ||||
|  | ||||
|     /** | ||||
|      * Get the client that the token was issued to | ||||
|      * @return ClientEntityInterface | ||||
|      */ | ||||
|     public function getClient(); | ||||
|  | ||||
|     /** | ||||
|      * Set the client that the token was issued to | ||||
|      * @param \League\OAuth2\Server\Entities\Interfaces\ClientEntityInterface $client | ||||
|      */ | ||||
|     public function setClient(ClientEntityInterface $client); | ||||
|  | ||||
|     /** | ||||
|      * Associate a scope with the token | ||||
|      * @param \League\OAuth2\Server\Entities\Interfaces\ScopeEntityInterface $scope | ||||
|      */ | ||||
|     public function addScope(ScopeEntityInterface $scope); | ||||
|  | ||||
|     /** | ||||
|      * Get an associated scope by the scope's identifier | ||||
|      * @param string $identifier | ||||
|      * @return ScopeEntityInterface|null  The scope or null if not found | ||||
|      */ | ||||
|     public function getScopeWithIdentifier($identifier); | ||||
|  | ||||
|     /** | ||||
|      * Return an array of scopes associated with the token | ||||
|      * @return ScopeEntityInterface[] | ||||
|      */ | ||||
|     public function getScopes(); | ||||
| } | ||||
							
								
								
									
										16
									
								
								src/Entities/RefreshTokenEntity.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/Entities/RefreshTokenEntity.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities; | ||||
|  | ||||
| use League\OAuth2\Server\Entities\Interfaces\RefreshTokenEntityInterface; | ||||
| use League\OAuth2\Server\Entities\Traits\EntityTrait; | ||||
| use League\OAuth2\Server\Entities\Traits\RefreshTokenTrait; | ||||
| use League\OAuth2\Server\Entities\Traits\TokenEntityTrait; | ||||
|  | ||||
| /** | ||||
|  * Class RefreshTokenEntity | ||||
|  * @package League\OAuth2\Server | ||||
|  */ | ||||
| class RefreshTokenEntity implements RefreshTokenEntityInterface | ||||
| { | ||||
|     use EntityTrait, TokenEntityTrait, RefreshTokenTrait; | ||||
| } | ||||
							
								
								
									
										14
									
								
								src/Entities/ScopeEntity.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								src/Entities/ScopeEntity.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities; | ||||
|  | ||||
| use League\OAuth2\Server\Entities\Interfaces\ScopeEntityInterface; | ||||
| use League\OAuth2\Server\Entities\Traits\EntityTrait; | ||||
|  | ||||
| /** | ||||
|  * Class ScopeEntity | ||||
|  * @package League\OAuth2\Server | ||||
|  */ | ||||
| class ScopeEntity implements ScopeEntityInterface | ||||
| { | ||||
|     use EntityTrait; | ||||
| } | ||||
							
								
								
									
										52
									
								
								src/Entities/Traits/ClientEntityTrait.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								src/Entities/Traits/ClientEntityTrait.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities\Traits; | ||||
|  | ||||
| trait ClientEntityTrait | ||||
| { | ||||
|     /** | ||||
|      * @var string | ||||
|      */ | ||||
|     protected $secret; | ||||
|  | ||||
|     /** | ||||
|      * @var string | ||||
|      */ | ||||
|     protected $name; | ||||
|  | ||||
|     /** | ||||
|      * Get the client's secret | ||||
|      * @return string | ||||
|      */ | ||||
|     public function getSecret() | ||||
|     { | ||||
|         return $this->secret; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Set the client's secret | ||||
|      * @param string $secret | ||||
|      * @return string | ||||
|      */ | ||||
|     public function setSecret($secret) | ||||
|     { | ||||
|         $this->secret = $secret; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get the client's name | ||||
|      * @return string | ||||
|      */ | ||||
|     public function getName() | ||||
|     { | ||||
|         return $this->name; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Set the client's name | ||||
|      * @param string $name | ||||
|      */ | ||||
|     public function setName($name) | ||||
|     { | ||||
|         $this->name = $name; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										26
									
								
								src/Entities/Traits/EntityTrait.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								src/Entities/Traits/EntityTrait.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities\Traits; | ||||
|  | ||||
| trait EntityTrait | ||||
| { | ||||
|     /* | ||||
|      * @var string | ||||
|      */ | ||||
|     protected $identifier; | ||||
|  | ||||
|     /** | ||||
|      * @return mixed | ||||
|      */ | ||||
|     public function getIdentifier() | ||||
|     { | ||||
|         return $this->identifier; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param mixed $identifier | ||||
|      */ | ||||
|     public function setIdentifier($identifier) | ||||
|     { | ||||
|         $this->identifier = $identifier; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										30
									
								
								src/Entities/Traits/RefreshTokenTrait.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								src/Entities/Traits/RefreshTokenTrait.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities\Traits; | ||||
|  | ||||
| use League\OAuth2\Server\Entities\Interfaces\AccessTokenEntityInterface; | ||||
|  | ||||
| trait RefreshTokenTrait | ||||
| { | ||||
|     /** | ||||
|      * @var AccessTokenEntityInterface | ||||
|      */ | ||||
|     protected $originalAccessToken; | ||||
|  | ||||
|     /** | ||||
|      * Set the original access token that the refresh token was associated with | ||||
|      * @param \League\OAuth2\Server\Entities\Interfaces\AccessTokenEntityInterface $accessToken | ||||
|      */ | ||||
|     public function setOriginalAccessToken(AccessTokenEntityInterface $accessToken) | ||||
|     { | ||||
|         $this->originalAccessToken = $accessToken; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get the access token that the refresh token was originally associated with | ||||
|      * @return \League\OAuth2\Server\Entities\Interfaces\AccessTokenEntityInterface | ||||
|      */ | ||||
|     public function getOriginalAccessToken() | ||||
|     { | ||||
|         return $this->originalAccessToken; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										126
									
								
								src/Entities/Traits/TokenEntityTrait.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										126
									
								
								src/Entities/Traits/TokenEntityTrait.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,126 @@ | ||||
| <?php | ||||
| namespace League\OAuth2\Server\Entities\Traits; | ||||
|  | ||||
| use League\OAuth2\Server\Entities\Interfaces\ClientEntityInterface; | ||||
| use League\OAuth2\Server\Entities\Interfaces\ScopeEntityInterface; | ||||
|  | ||||
| trait TokenEntityTrait | ||||
| { | ||||
|     /** | ||||
|      * @var ScopeEntityInterface[] | ||||
|      */ | ||||
|     protected $scopes = []; | ||||
|  | ||||
|     /** | ||||
|      * @var \DateTime | ||||
|      */ | ||||
|     protected $expiryDateTime; | ||||
|  | ||||
|     /** | ||||
|      * @var string | ||||
|      */ | ||||
|     protected $ownerType; | ||||
|  | ||||
|     /** | ||||
|      * @var string|int | ||||
|      */ | ||||
|     protected $ownerIdentifier; | ||||
|  | ||||
|     /** | ||||
|      * @var ClientEntityInterface | ||||
|      */ | ||||
|     protected $client; | ||||
|  | ||||
|     /** | ||||
|      * Associate a scope with the token | ||||
|      * @param \League\OAuth2\Server\Entities\Interfaces\ScopeEntityInterface $scope | ||||
|      */ | ||||
|     public function addScope(ScopeEntityInterface $scope) | ||||
|     { | ||||
|         $this->scopes[$scope->getIdentifier()] = $scope; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get an associated scope by the scope's identifier | ||||
|      * @param string $identifier | ||||
|      * @return ScopeEntityInterface|null  The scope or null if not found | ||||
|      */ | ||||
|     public function getScopeWithIdentifier($identifier) | ||||
|     { | ||||
|         return (isset($this->scopes[$identifier])) ? $this->scopes[$identifier] : null; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return an array of scopes associated with the token | ||||
|      * @return ScopeEntityInterface[] | ||||
|      */ | ||||
|     public function getScopes() | ||||
|     { | ||||
|         return $this->scopes; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get the token's expiry date time | ||||
|      * @return \DateTime | ||||
|      */ | ||||
|     public function getExpiryDateTime() | ||||
|     { | ||||
|         return $this->expiryDateTime; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Set the date time when the token expires | ||||
|      * @param \DateTime $dateTime | ||||
|      */ | ||||
|     public function setExpiryDateTime(\DateTime $dateTime) | ||||
|     { | ||||
|         $this->expiryDateTime = $dateTime; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Set the token's owner | ||||
|      * @param string     $type       The type of the owner (e.g. "user", "client" or something more specific) | ||||
|      * @param string|int $identifier The identifier of the owner | ||||
|      */ | ||||
|     public function setOwner($type, $identifier) | ||||
|     { | ||||
|         $this->ownerType = $type; | ||||
|         $this->ownerIdentifier = $identifier; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get the token owner's type | ||||
|      * @return string  The type of owner (e.g. "user", "client" or something more specific) | ||||
|      */ | ||||
|     public function getOwnerType() | ||||
|     { | ||||
|         return $this->ownerType; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get the token owner's identifier | ||||
|      * @return string|int | ||||
|      */ | ||||
|     public function getOwnerIdentifier() | ||||
|     { | ||||
|         return $this->ownerIdentifier; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get the client that the token was issued to | ||||
|      * @return ClientEntityInterface | ||||
|      */ | ||||
|     public function getClient() | ||||
|     { | ||||
|         return $this->client; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Set the client that the token was issued to | ||||
|      * @param \League\OAuth2\Server\Entities\Interfaces\ClientEntityInterface $client | ||||
|      */ | ||||
|     public function setClient(ClientEntityInterface $client) | ||||
|     { | ||||
|         $this->client = $client; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user