mirror of
				https://github.com/elyby/accounts.git
				synced 2025-05-31 14:11:46 +05:30 
			
		
		
		
	Все действия, связанные с аккаунтами, теперь вызываются через url `/api/v1/accounts/<id>/<action>`. Добавлена вменяемая система разграничения прав на основе RBAC. Теперь oAuth2 токены генерируются как случайная строка в 40 символов длинной, а не UUID. Исправлен баг с неправильным временем жизни токена в ответе успешного запроса аутентификации. Теперь все unit тесты можно успешно прогнать без наличия интернета.
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | ||
| namespace api\components\User;
 | ||
| 
 | ||
| use common\models\Account;
 | ||
| 
 | ||
| interface IdentityInterface extends \yii\web\IdentityInterface {
 | ||
| 
 | ||
|     public static function findIdentityByAccessToken($token, $type = null): IdentityInterface;
 | ||
| 
 | ||
|     /**
 | ||
|      * Этот метод используется для получения токена, к которому привязаны права.
 | ||
|      * У нас права привязываются к токенам, так что возвращаем именно его id.
 | ||
|      *
 | ||
|      * @return string
 | ||
|      */
 | ||
|     public function getId(): string;
 | ||
| 
 | ||
|     /**
 | ||
|      * Метод возвращает аккаунт, который привязан к текущему токену.
 | ||
|      * Но не исключено, что токен был выдан и без привязки к аккаунту, так что
 | ||
|      * следует это учитывать.
 | ||
|      *
 | ||
|      * @return Account|null
 | ||
|      */
 | ||
|     public function getAccount(): ?Account;
 | ||
| 
 | ||
|     /**
 | ||
|      * @return string[]
 | ||
|      */
 | ||
|     public function getAssignedPermissions(): array;
 | ||
| 
 | ||
| }
 |