【问题标题】:How to use authorization header PHP如何使用授权头 PHP
【发布时间】:2015-08-16 10:44:48
【问题描述】:

我正在尝试使用授权标头来使用 vimeo API。

它告诉我这样做 'Authorization: basic ' + base64(client_id + ':' + client_secret) ,这是我可以做的。

但互联网上没有任何地方告诉我我实际上用这段代码做了什么?它不是 PHP,但它是否包含在 PHP 文件中?如果是这样,那么存储后我应该在它上面使用什么功能?它是否包含在 htaccess 文件中?

真是可悲的是,任何和所有在线文档都是如此糟糕。

总而言之,基本上我要说的是给我看代码

【问题讨论】:

    标签: php api oauth authorization vimeo


    【解决方案1】:
    $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 是一个抽象了很多复杂性的库。

    【讨论】:

    • base64_encode 是我正在寻找的,对于他们编写的一个 API 文档,我需要使用 md5("$client_id:$client_secret"),但它不起作用,我尝试了 base64_encode 并且它起作用了。 :D
    【解决方案2】:

    Vimeo 强烈建议你不要自己编写这些认证系统,而是使用官方库:https://github.com/vimeo/vimeo.php

    如果您正在寻找自定义 PHP 集成,它会根据您发出 HTTP 请求的方式而有所不同。 guzzle 和 curl 都是 http 请求库,有自己的设置标头的方式(http://guzzle.readthedocs.org/en/latest/request-options.html#headersPHP cURL custom headers

    至于 base64 编码你的令牌,使用方法base64_encode (http://php.net/manual/en/function.base64-encode.php)

    【讨论】:

      【解决方案3】:

      $curl = base64_encode("1100032342:F!rSTU99HD"); 回声 $curl;

      结果:
      MTEwMDAzMjM0MjpGIXJTVFU5OUhE

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-25
        • 1970-01-01
        • 2017-10-29
        • 2011-03-03
        相关资源
        最近更新 更多