WP REST API (WP API) 很可能会即将加入到于2015年4月22日发布WordPress 4.2 版的核心代码中,现在分享下如何实现基于 WP REST API (WP API) 的用户认证。 本文首发酷威普和索凌网络,转载请注明出处!

OAUTH

OAuth 1.0a Server for WordPress:为WordPress网站提供一组HTTP认证API。

插件位置: https://github.com/WP-API/OAuth1

OAUTH相关术语

"access token" :  一个可访问站点的长期令牌,访问权限授予特定客户端;

"client" : 访问OAuth API并提供相关服务的软件程序;

"request token": 一个在OAuth过程中使用的短期令牌,未授予任何权限,并且仅适用于授权过程中;

"site": 一个提供了OAuth API的WordPress站点实例;

"user": API client的终端用户,通常是一个在上述WordPress站点实例的已注册用户。

OAUTH API的三个原则

用户应可仅凭长期令牌访问网站,在客户端(APP之类)应尽量鼓励用户通过长期令牌访问网站,网站应避免仅采用长期令牌这一种访问方式(本小段儿中的“访问”指的是需要权限的访问,而不是公开的访问);

API应该可被使用在任何网站,应该成为一个具有通用性的实用工具;

API应该易于在客户端以各种方式实现(Javascript、PHP、Lua、Java、Obeject-C)实现,库文件复用性以及可扩展性需重视。

OAUTH 在线测试工具

http://sevengoslings.net/~fangel/oauth-explorer/

OAuth 认证成功后的示意:

WP REST API (WP API) Authentication

点击上图中的授权,返回一个长期令牌:

WP REST API (WP API) Authentication

 

BASIC AUTH

仅可用于开发和测试过程中的一种基本的验证方式,不推荐用在生产环境中!

https://github.com/WP-API/Basic-Auth

KEY AUTH

Key验证:此项目不是社区项目,存在一定的安全隐患和可用性问题!

https://github.com/WP-API/Key-Auth

结论

仅有安全性较高的 OAuth 认证方式可用于生产环境的WordPress实例中。