如何使用WP-REST API登录用户,获取Android APP的用户数据?

时间:2016-04-15 作者:Divyanshu Jimmy

我想使用Wordpress REST API在android应用程序上登录并获取用户数据。

我使用wp\\u users table for user和自定义table for user info。

我尝试编写自己的RESTAPI,但为此,我必须在Wordpress安装之外访问$wpdb。

请提供具有API-KEY或类似功能的解决方案。

谢谢

2 个回复
最合适的回答,由SO网友:Divyanshu Jimmy 整理而成

我使用WP-REST API插件找到了最简单的解决方案,首先在您的环境中设置:

1)在您的主题中functions.php 注册API端点挂钩:

add_action( \'rest_api_init\', \'register_api_hooks\' );
// API custom endpoints for WP-REST API
function register_api_hooks() {

    register_rest_route(
        \'custom-plugin\', \'/login/\',
        array(
            \'methods\'  => \'POST\',
            \'callback\' => \'login\',
        )
    );

    function login() {

        $output = array();

        // Your logic goes here.
        return $output;

    }
2.)默认情况下,如果您启用了相当长的永久链接,WordPress REST API“存在”在/wp json/中。然后可以在以下位置访问API端点:youdomain.com/wp-json/custom-plugin/login 使用POST 要求

请注意custom-plugin/login 实际定义为register_rest_route 在PHP函数中register_api_hooks()

对于API键,我使用Wordpress Nonces-pretty straightforward as in my discussion here . 我希望这些答案对所有刚接触Wordpress REST API的全栈开发人员都有用

SO网友:Saran

如果您只想用户登录并获取用户详细信息,可以使用名为“JSON API AUTH”的优秀插件

https://wordpress.org/plugins/json-api-auth/

有以下可用方法:validate_auth_cookie, generate_auth_cookie, clear_auth_cookie, get_currentuserinfo

可以通过调用http://localhost/api/get_nonce/?controller=auth&method=generate_auth_cookie

然后可以使用“nonce”值生成cookie。http://localhost/api/auth/generate_auth_cookie/?nonce=f4320f4a67&username=Catherine&password=password-here

在其他控制器调用中使用这样的cookie:http://localhost/api/contoller-name/method-name/?cookie=Catherine|1392018917|3ad7b9f1c5c2cccb569c8a82119ca4fd