RESTful API와이를 호출하는 별도의 클라이언트 웹 사이트를 설정했습니다.
클라이언트 웹 사이트는 리소스 소유자 암호 자격 증명 부여 유형 인 oAuth2를 사용하여 API ( https://myapi.com/v1/oauth/token ) 에서 액세스 토큰을 얻습니다.
API에 대한 다른 모든 호출에는 데이터에 액세스하기위한 액세스 토큰이 포함되어야합니다.
Slim 프레임 워크를 사용하여 액세스 토큰을 선택하고 데이터베이스에서 액세스 토큰에 속한 사용자를 쿼리하고 해당 사용자 모델을 경로에서 사용할 수 있도록하려면 어떻게해야합니까?
이런 식으로하고 싶지만 정확히 어떻게해야할지 모르겠습니다 ...
function validateAccessToken() {
$access_token = $_GET["access_token"];
$user = \models\user::where("access_token", "=", $access_token)->first();
if($user === NULL) {
throw new exception("Invalid access token");
}
return $user
}
$app->get("/v1/emails", validateAccessToken(), function() use ($app) {
$emails = \models\emails::where("user_id", "=", $user->id)->toArray();
echo(json_encode($emails));
});
$validateAccessToken= function($app) {
return function () use ($app) {
$access_token = $app->request()->get("access_token");
$user = \models\user::where("access_token", "=", $access_token)->first();
if($user === NULL) {
$app->redirect("/errorpage");
}
};
};
$app->get("/v1/emails", $validateAccessToken($app), function() use ($app) {
// here you have to define $user once again
$access_token = $app->request()->get("access_token");
$user = \models\user::where("access_token", "=", $access_token)->first();
$emails = \models\emails::where("user_id", "=", $user->id)->toArray();
echo(json_encode($emails));
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다