fidél/hotel-api

此包已被弃用且不再维护。未建议替代包。
此包最新版本(0.1.1)没有可用的许可信息。

一个PHP类,用于连接并从Amadeus客户端请求酒店服务

0.1.1 2016-04-24 07:40 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:57:44 UTC


README

一个PHP模块,用于连接并从Amadeus客户端请求酒店服务

##安装

要安装此包,您需要

  • Laravel 5.2
  • PHP 5.5.9+

将仓库直接添加到您的composer.json文件中

"repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/foresttravel/hotel-api"
        }
 ]

通过在终端运行composer命令进行安装。

composer require foresttravel/hotel-api --prefer-source

完成后,您需要在app.php配置文件中的providers数组中添加服务提供者,如下所示

HotelAPI\Providers\HotelApiServiceProvider::class

然后在终端中运行

php artisan vendor:publish --provider="HotelAPI\Providers\HotelApiServiceProvider"

###连接 要成功连接,您需要在.env文件中指定以下环境变量

API_ENDPOINT_AMADEUS='*******'
API_USERNAME_AMADEUS='*******'
API_PASSWORD_AMADEUS='*******'

###认证 要使用中间件,您必须将它们注册在app/Http/Kernel.php文件下的$routeMiddleware属性中

protected $routeMiddleware = [
    ...
    'token-amadeus' => \HotelAPI\Middleware\AuthenticateTokenAmadeus::class
]; 

然后在app/Http/route.php文件中可以这样使用

$api->group(['middleware' => 'token-amadeus'], function ($api) {
        $api->post('hotel-details', 'API\V1\HotelController@hotelDetails');
        ...
});

当用户第一次请求时,他将登录到Amadeus客户端并接收一个令牌,然后下一步就是使用这个令牌进行后续请求。

要通过http进行认证请求,您需要设置一个授权头,如下所示

Authorization: Bearer {yourtokenhere}

Apache用户注意

Apache似乎会丢弃不是base64编码的用户/密码组合的授权头。因此,要修复此问题,您可以在Apache配置中添加以下内容

RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

###数据库 此包需要一些编码表才能正常工作。您需要指定数据库迁移所使用的数据库驱动程序。您可以在.env文件中使用此环境变量指定驱动程序

API_CONNECTION_DRIVER='*****'

然后您可以进行迁移

php artisan migrate 

###更新 要保持此包的更新,您可以使用此命令

composer update foresttravel/hotel-api