mirror of
https://github.com/elyby/oauth2-server.git
synced 2025-05-06 17:43:45 +05:30
63 lines
2.1 KiB
PHP
63 lines
2.1 KiB
PHP
<?php
|
|
/**
|
|
* OAuth 2.0 Session storage interface
|
|
*
|
|
* @package league/oauth2-server
|
|
* @author Alex Bilbie <hello@alexbilbie.com>
|
|
* @copyright Copyright (c) Alex Bilbie
|
|
* @license http://mit-license.org/
|
|
* @link https://github.com/thephpleague/oauth2-server
|
|
*/
|
|
|
|
namespace League\OAuth2\Server\Storage;
|
|
|
|
use League\OAuth2\Server\Entity\AccessTokenEntity;
|
|
use League\OAuth2\Server\Entity\AuthCodeEntity;
|
|
use League\OAuth2\Server\Entity\ScopeEntity;
|
|
use League\OAuth2\Server\Entity\SessionEntity;
|
|
|
|
/**
|
|
* Session storage interface
|
|
*/
|
|
interface SessionInterface extends StorageInterface
|
|
{
|
|
/**
|
|
* Get a session from an access token
|
|
* @param \League\OAuth2\Server\Entity\AccessTokenEntity $accessToken The access token
|
|
* @return \League\OAuth2\Server\Entity\SessionEntity
|
|
*/
|
|
public function getByAccessToken(AccessTokenEntity $accessToken);
|
|
|
|
/**
|
|
* Get a session from an auth code
|
|
* @param \League\OAuth2\Server\Entity\AuthCodeEntity $authCode The auth code
|
|
* @return \League\OAuth2\Server\Entity\SessionEntity
|
|
*/
|
|
public function getByAuthCode(AuthCodeEntity $authCode);
|
|
|
|
/**
|
|
* Get a session's scopes
|
|
* @param \League\OAuth2\Server\Entity\SessionEntity
|
|
* @return array Array of \League\OAuth2\Server\Entity\ScopeEntity
|
|
*/
|
|
public function getScopes(SessionEntity $session);
|
|
|
|
/**
|
|
* Create a new session
|
|
* @param string $ownerType Session owner's type (user, client)
|
|
* @param string $ownerId Session owner's ID
|
|
* @param string $clientId Client ID
|
|
* @param string $clientRedirectUri Client redirect URI (default = null)
|
|
* @return integer The session's ID
|
|
*/
|
|
public function create($ownerType, $ownerId, $clientId, $clientRedirectUri = null);
|
|
|
|
/**
|
|
* Associate a scope with a session
|
|
* @param \League\OAuth2\Server\Entity\SessionEntity $scope The scope
|
|
* @param \League\OAuth2\Server\Entity\ScopeEntity $scope The scope
|
|
* @return void
|
|
*/
|
|
public function associateScope(SessionEntity $session, ScopeEntity $scope);
|
|
}
|