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;
 | 
						||
 | 
						||
}
 |