Как проверить, что вызов API — это правильный запрос ресурсов с PHP-сервером Алекса Билби OAuth2 Server?

Я использую OAuth2-server-php Алекса Билби для OAuth в своем приложении. Я хотел бы использовать это для защиты моего API. У меня есть запрос на авторизацию, код авторизации, маркер доступа, все разобрано, все прекрасно работает.

Но как реализовать это для API?

Есть главный контроллер, который разбирает общие методы: простые операции получения и т. Д. В этом конструкторе я хотел бы убедиться, что URL-адрес, который они вызвали, действителен. Если access_token существует, привяжите связанный клиент к связанному пользователю.

Затем в контроллере, который контролирует весь /products ресурс, я хотел бы проверить область для этого вызова, т.е. проверить, если для post / put / patch у access_token есть products_write объем.

Возвращаясь к главному контроллеру, в конструкторе это так:

$oauth = new Oauth(); //creates a new instance of the OAuth server, with all relevant info regarding db, grant types, and supported scopes.
if(!$oauth->server->verifyResourceRequest($oauth->request, $oauth->response)) {
echo '<pre>';
var_dump($oauth->server->getResponse());
exit();
}

Это суетится на:

object(OAuth2\Response)#129 (5) {
["version"]=>
string(3) "1.1"["statusCode":protected]=>
int(400)
["statusText":protected]=>
string(11) "Bad Request"["parameters":protected]=>
array(2) {
["error"]=>
string(15) "invalid_request"["error_description"]=>
string(80) "Only one method may be used to authenticate at a time (Auth header, GET or POST)"}
["httpHeaders":protected]=>
array(2) {
["Cache-Control"]=>
string(8) "no-store"["WWW-Authenticate"]=>
string(149) "Bearer realm="Service", error="invalid_request", error_description="Only one method may be used to authenticate at a time (Auth header, GET or POST)""}
}

В чем здесь проблема, что мне не хватает? В учебнике или документации нет ничего о том, как на самом деле проверить запрос ресурса.

0

Решение

Проблема заключалась в том, что я уже вошел на основной сайт. Он увидел, что я прошел через это, и это было запрещено.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]