试图围绕Vimeo API授权流程

时间:2018-02-12 23:39:30

标签: php wordpress vimeo-api

所以我喜欢在WordPress插件中使用vimeo API。

在我看来,实际上有3种不同的方法可以做到这一点。

所以我的猜测是我可以将我的网站设置为视频作为'主'应用程序,并通过他们复杂的授权过程让用户验证我的应用程序来做事情。我不确定这究竟是如何运作的......

因为我计划在商业上使用这个,所以我必须将我的插件注册为带视频的商业应用程序。并不是说我希望被他们拒绝,但我喜欢我的用户有自己的网站是他们自己的应用程序的想法,即使这意味着更长的设置。

我看过一个插件(codeflavors vimeo post Lite)为用户提供client idclient secret的设置,然后请求获取特定于用户的API令牌,所以基本上每个用户都有他们自己的应用程序在vimeo上注册。

/**
 * Constructor, fires up the parent by providing it with
 * client ID, secret and token, if any
 */
public function __construct( $args = array() ){
    // set plugin settings
    $this->settings = cvm_get_settings();
    // set the token
    $token = null;
    if( !empty( $this->settings['oauth_secret'] ) ){
        $token = $this->settings['oauth_secret'];
    }else if( !empty( $this->settings['oauth_token'] ) ){
        $token = $this->settings['oauth_token'];
    }       
    // set up redirect URL
    $redirect_url = admin_url( 'edit.php?post_type=' . cvm_get_post_type() . '&page=cvm_settings' );
    // start the parent
    parent::__construct( $this->settings['vimeo_consumer_key'], $this->settings['vimeo_secret_key'], $token, $redirect_url );

我不明白他们代码的这一部分,令牌是oauth_secret还是oauth_token

的部分

但实际上我已经集成了他们的代码而忽略了oauth_secret部分,因此如果我的插件将他们的vimeo秘密和id放入其中,用户可以在WP Admin页面中生成他们的令牌。

但是现在我找到了其他两个似乎只使用令牌的插件。

define( 'VIMEOGRAPHY_ACCESS_TOKEN', 'eaf47146f04b5550a3e394f3bbf8273f');他们的代码中只有公共盟友。这是打算用这种方式吗?

我还在Vimeo应用程序设置中发现,您可以在那里生成令牌。 “为脚本或测试生成令牌”。 And I seen yet another plugin指示用户在那里生成令牌并将该令牌放入WP管理页面。

所以我有点困惑但是我的猜测是我可以使用我自己的令牌来获取公共数据,当用户需要私有数据时我可以指示然后生成他们自己的令牌并使用它并实际上跳过所有这些复杂的授权内容。即使有一个官方api给我,它似乎更简单,更容易维护,只是让他们使用像其他API的api密钥的标记。

所以我的问题是我是对的。走复杂路线有什么好处。如果我可以让我的用户生成自己的令牌?

1 个答案:

答案 0 :(得分:2)

带有Vimeo API的

Authentication令牌可以分为三种类型:

  • 未经身份验证(客户凭证)
  • 经过身份验证(OAuth2流程)
  • 经过身份验证(个人访问令牌)

未经身份验证的/客户端凭据令牌只能用于从Vimeo获取公共数据,并且是从client_id和client_secret值生成的。

当授予appropriate scopes时,经过身份验证的令牌可用于从Vimeo获取公共和私有数据。经过身份验证的令牌可通过以下两种方式之一生成:

  1. 通过OAuth2流程发送最终用户,授权您的应用程序代表其Vimeo帐户执行操作

  2. 生成"个人访问令牌"在应用程序管理页面上。此令牌已通过应用创建者的帐户进行身份验证。

  3. 当然,用例有所不同,但这里有一些关于何时使用这些类型的令牌的一般例子:

    • 未经身份验证 - 如果您的应用只需要从Vimeo检索公共数据,请使用此选项。
    • 通过OAuth验证令牌 - 如果其他用户将使用您的应用程序,则需要将Vimeo上的数据专用于这些用户的帐户。
    • 通过个人访问令牌进行身份验证令牌 - 如果您的应用程序仅由您自己的Vimeo帐户使用,并且需要在您的帐户中隐藏数据,请使用该帐户。

    您提到的每项服务都应概述所需的身份验证令牌类型。作为其应用程序的最终用户,他们可能需要您通过OAuth2流程并授权应用程序代表您的Vimeo帐户执行操作。他们可能还需要您在Vimeo Developer site上生成应用程序,并使用您的应用程序的client_id / secret提供服务,或者创建个人访问令牌并为该服务提供该令牌。

    我希望这些信息有所帮助!