[PLUGIN][OAuth] Fix login for OAuth
This commit is contained in:
parent
20f690c532
commit
27706d63f4
|
@ -20,15 +20,13 @@ security:
|
|||
dev:
|
||||
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
||||
security: false
|
||||
oauth:
|
||||
pattern: ^/oauth
|
||||
security: false
|
||||
main:
|
||||
lazy: true
|
||||
provider: local_user
|
||||
form_login:
|
||||
login_path: security_login
|
||||
check_path: security_login
|
||||
default_target_path: root
|
||||
logout:
|
||||
path: security_logout
|
||||
# where to redirect after logout
|
||||
|
|
|
@ -34,7 +34,7 @@ declare(strict_types = 1);
|
|||
namespace Plugin\OAuth2\Controller;
|
||||
|
||||
use App\Core\Controller;
|
||||
use App\Entity\LocalUser;
|
||||
use App\Util\Common;
|
||||
use App\Util\Exception\NotFoundException;
|
||||
use League\OAuth2\Server\Entities\UserEntityInterface;
|
||||
use League\OAuth2\Server\Exception\OAuthServerException;
|
||||
|
@ -56,7 +56,7 @@ class Authorize extends Controller
|
|||
parent::__construct($stack);
|
||||
}
|
||||
|
||||
public function __invoke(Request $request)
|
||||
public function handle(Request $request)
|
||||
{
|
||||
// @var \League\OAuth2\Server\AuthorizationServer $server
|
||||
$server = OAuth2::$authorization_server;
|
||||
|
@ -71,10 +71,11 @@ class Authorize extends Controller
|
|||
$psrRequest = $psrHttpFactory->createRequest($request);
|
||||
$authRequest = $server->validateAuthorizationRequest($psrRequest);
|
||||
|
||||
// TODO
|
||||
$user = Common::ensureLoggedIn($request);
|
||||
|
||||
// Once the user has logged in set the user on the AuthorizationRequest
|
||||
$authRequest->setUser(
|
||||
new class(LocalUser::getByNickname('foo')->getId()) implements UserEntityInterface {
|
||||
new class($user->getId()) implements UserEntityInterface {
|
||||
public function __construct(private int $id)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -37,6 +37,6 @@ class NoLoggedInUser extends RedirectException
|
|||
{
|
||||
public function __construct(Request $request)
|
||||
{
|
||||
parent::__construct('security_login', ['next' => $request->getRequestUri()]);
|
||||
parent::__construct('security_login', ['_target_path' => $request->getRequestUri()]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,8 +41,8 @@
|
|||
<input type="checkbox" name="_remember_me" id="inputRememberMe">
|
||||
</span>
|
||||
|
||||
{% if app.request.query.has('next') %}
|
||||
<input type="hidden" name="_next" value="{{ app.request.query.get('next') }}">
|
||||
{% if app.request.query.has('next') or app.request.query.has('_next') or app.request.query.has('_target_path') %}
|
||||
<input type="hidden" name="_target_path" value="{{ (app.request.query.get('next') ?? app.request.query.get('_next') ?? app.request.query.get('_target_path')) | url_encode }}">
|
||||
{% endif %}
|
||||
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}">
|
||||
<div>
|
||||
|
|
Loading…
Reference in New Issue
Block a user