tokenType = $tokenType; $this->tokenStorage = $tokenStorage; $this->userClaimsStorage = $userClaimsStorage; $this->config = array_merge(array( 'www_realm' => 'Service', ), $config); if (is_null($scopeUtil)) { $scopeUtil = new Scope(); } $this->scopeUtil = $scopeUtil; } public function handleUserInfoRequest(RequestInterface $request, ResponseInterface $response) { if (!$this->verifyResourceRequest($request, $response, 'openid')) { return; } $token = $this->getToken(); $claims = $this->userClaimsStorage->getUserClaims($token['user_id'], $token['scope']); // The sub Claim MUST always be returned in the UserInfo Response. // http://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse $claims += array( 'sub' => $token['user_id'], ); $response->addParameters($claims); } }