web-dev-qa-db-ja.com

認証ヘッダーの使用方法PHP

VimeoAPIを使用するために認証ヘッダーを使用しようとしています。

これを行うように指示されます '承認:基本' + base64(client_id + ':' + client_secret)、これは私ができることです。

しかし、インターネットのどこにも、私がこのコードで実際に何をしているのかを教えてくれませんか? PHPではありませんが、PHPファイルに入れられますか?その場合、保存後にどの関数を使用しますか?htaccessファイルに入れられますか?

これに関するすべてのオンラインドキュメントがどれほどひどいのかは本当に悲しいことです。

要約すると、基本的に私が言っているのはSHOW ME THECODEです

5
Sam Alexander
$api_url = 'http://myapiurl';

$client_id = 'myclientid';
$client_secret = 'myclientsecret';

$context = stream_context_create(array(
    'http' => array(
        'header' => "Authorization: Basic " . base64_encode("$client_id:$client_secret"),
    ),
));

$result = file_get_contents($api_url, false, $context);

ドキュメントリンク:

より複雑なリクエストの場合は、 cURL を使用できますが、ライブラリのPHPの実装は混乱しているため、できる限り回避することをお勧めします。 Guzzle は、ここで多くの複雑さを抽象化するライブラリです。

13
Mikkel

Vimeoは、これらの認証システムを自分で作成するのではなく、公式ライブラリを使用することを強くお勧めします: https://github.com/vimeo/vimeo.php

カスタムPHP統合を探している場合、HTTPリクエストの作成方法によって異なります。guzzleとcurlはどちらもhttpリクエストライブラリであり、ヘッダーを設定する独自の方法があります( http://guzzle.readthedocs.org/en/latest/request-options.html#headers および PHP cURLカスタムヘッダー

トークンをエンコードするbase64については、メソッドbase64_encodehttp://php.net/manual/en/function.base64-encode.php )を使用します。

2
Dashron