mirror of
				https://github.com/elyby/accounts.git
				synced 2025-05-31 14:11:46 +05:30 
			
		
		
		
	Объединены сущности для авторизации посредством JWT токенов и токенов, выданных через oAuth2.
Все действия, связанные с аккаунтами, теперь вызываются через url `/api/v1/accounts/<id>/<action>`. Добавлена вменяемая система разграничения прав на основе RBAC. Теперь oAuth2 токены генерируются как случайная строка в 40 символов длинной, а не UUID. Исправлен баг с неправильным временем жизни токена в ответе успешного запроса аутентификации. Теперь все unit тесты можно успешно прогнать без наличия интернета.
This commit is contained in:
		
							
								
								
									
										32
									
								
								api/components/User/IdentityInterface.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								api/components/User/IdentityInterface.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| <?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; | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user