Node-wPapi:如何处理身份验证?

时间:2017-02-20 作者:realtebo

我指的是官方(4.7+)RESTAPI的官方节点wpapi javascript客户端库。这里是文件:http://wp-api.org/node-wpapi/authentication/#cookie-authentication

我在读Cookie Authentication 段落,但我不在这种情况下。

我正在尝试构建一个单页应用程序,因此我需要使用REST API注册/登录/注销用户。我不需要使用节点wpapi,我可以使用任何其他库来调用API端点。

但我的问题是,我无法理解必须调用什么来登录用户,以及必须保存什么来处理用户需要登录的其他api调用(例如,创建帖子)。

1 个回复
最合适的回答,由SO网友:K. Adam 整理而成

我是node-wpapi 图书馆,谢谢您的查看。不幸的是,我们目前不支持任何现成的外部身份验证方案,因为WordPress本身除了cookie/nonce选项(正如您所描述的,它不适用于外部应用程序)之外,不附带任何身份验证方案。

有一些插件可以使用JWT和OAuth 1.0a对API请求进行身份验证,这些方法的处理可以针对node-wpapi 结合使用自定义传输方法和新的.setHeaders() 我们在上周的节点api 1.1版本中引入的函数。

然而,您所描述的内容听起来不像是那些方法可以解决的问题。具体来说,REST API身份验证是针对WordPress站点对单个请求进行身份验证的一种方法,实际上是说,“我有权查看或编辑我请求的资源。”RESTAPI不提供登录WordPress的机制,应该使用现有WordPress登录表单来处理。

如果您的SPA设计为在插件中运行,我建议将其设置为仅在登录时才能查看页面,然后当您的用户尝试打开应用程序时,他们将被引导到WordPress的现有登录页面,然后返回到您的应用程序。登录后,单页应用程序就可以对API请求使用cookie/nonce身份验证。有关示例,请参见位于的项目https://github.com/kadamwhite/wp-notebook

希望这有帮助,并感谢您使用REST API!

相关推荐

创建帖子,包含来自远程API的数据

我需要一些帮助和指导。因此,我正在开发一个网站(自定义主题),目标是从远程API获取数据。我希望能够将数据存储在各个帖子中(一种自定义帖子类型),当有人向远程API添加或删除数据时,它应该会更新网站上的帖子。我使用的API的结构如下:https://pippinsplugins.com/edd-api/products我知道如何从中获取数据并解码JSON等。$url = \'https://pippinsplugins.com/edd-api/products\'; $username