试图绕过 Vimeo API 授权过程

Trying to wrap my head around the Vimeo API authorisation process

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

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

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

因为我打算将其用于商业用途,所以我必须将我的插件注册为带有视频的商业应用程序。并不是说我希望被他们拒绝,但我喜欢我的用户将他们自己的网站作为他们自己的应用程序的想法,即使这意味着他们需要更长的设置时间。

我看到一个插件 (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 部分,因此用户可以在 WP 管理页面中生成他们的令牌,如果我的插件将他们的 vimeo 秘密和 ID 放入。

但现在我发现了另外 2 个似乎只使用令牌的插件。

define( 'VIMEOGRAPHY_ACCESS_TOKEN', 'eaf47146f04b5550a3e394f3bbf8273f'); 他们的代币只是 public-ally 在他们的代码中。这是打算这样使用吗?

我还在 Vimeo 应用程序设置中发现您可以在那里生成令牌。 "Generate a token for script or testing"。 And I seen yet another plugin 指示用户在那里生成他们的令牌并将该令牌放入 WP 管理页面。

所以我有点困惑,但我的猜测是我可以将自己的令牌用于 public 数据,当用户需要私人数据时,我可以指示生成他们自己的令牌并使用它,实际上跳过所有这些复杂的授权内容。即使有一个官方的 api 对我来说它似乎更简单和更容易维护只是让他们使用像 api 密钥这样的令牌用于其他 APIs.

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

Authentication 带有 Vimeo API 的令牌可以分为三种类型:

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

Unauthenticated/client 凭据令牌只能用于从 Vimeo 获取 public 数据,并从 client_id 和 client_secret 值生成。

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

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

  2. 在应用管理页面生成一个"personal access token"。此令牌已通过应用程序创建者帐户的身份验证。

当然,用例各不相同,但这里有一些关于何时使用这些类型令牌的一般示例:

  • 未验证 - 如果您的应用程序只需要从 Vimeo 检索 public 数据,请使用。
  • 通过 OAuth 验证的令牌 - 如果您的应用程序将被其他用户使用并且需要获取这些用户帐户私有的 Vimeo 数据,请使用。
  • 通过个人访问令牌进行身份验证的令牌 - 如果您的应用程序仅由您自己的 Vimeo 帐户使用并且需要在您的帐户上保密数据,请使用。

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

希望这些信息对您有所帮助!