mirror of
http://124.126.16.154:8888/singularity/hyperf-saml.git
synced 2026-01-15 07:15:05 +08:00
feat(sp.assertion): 直接处理 Response 并做出响应
This commit is contained in:
@@ -16,6 +16,7 @@ use LightSaml\Model\Protocol\LogoutResponse;
|
||||
use LightSaml\Model\Protocol\Response;
|
||||
use LightSaml\SamlConstants;
|
||||
use Singularity\HyperfDevelopmentKit\Account\Resource\User;
|
||||
use Singularity\HyperfDevelopmentKit\Account\Services\Auth\TokenServiceInterface;
|
||||
use Singularity\HyperfDevelopmentKit\Utils\Exceptions\Unauthorized;
|
||||
use Singularity\HyperfDevelopmentKit\Utils\Exceptions\ValidateException;
|
||||
use Singularity\HyperfSaml\Constants\SamlErrorCode;
|
||||
@@ -37,7 +38,8 @@ class Assertion
|
||||
public function __construct(
|
||||
private Base $base,
|
||||
private RequestInterface $request,
|
||||
private ResponseInterface $response
|
||||
private ResponseInterface $response,
|
||||
private TokenServiceInterface $tokenService
|
||||
) {
|
||||
}
|
||||
|
||||
@@ -73,12 +75,15 @@ class Assertion
|
||||
*
|
||||
* @param \LightSaml\Model\Protocol\Response $response
|
||||
*
|
||||
* @return \Singularity\HyperfDevelopmentKit\Account\Resource\User
|
||||
* @return \Psr\Http\Message\ResponseInterface
|
||||
*/
|
||||
public function consumeResponse(Response $response): User
|
||||
public function consumeResponse(Response $response): \Psr\Http\Message\ResponseInterface
|
||||
{
|
||||
$user = $this->base->getAllAttributes($response);
|
||||
return new User($user);
|
||||
$user = new User($user);
|
||||
|
||||
$this->tokenService->generate($user);
|
||||
return $user->toResponse();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user