繁体   English   中英

如何使用RESTclient Addon Firefox设置用于静态API身份验证的标头

[英]How to set header for restful api authentication using RESTclient Addon Firefox

我有来自Yii Example的这段代码

private function _checkAuth()
{
    // Check if we have the USERNAME and PASSWORD HTTP headers set?
    if(!(isset($_SERVER['HTTP_X_USERNAME']) and isset($_SERVER['HTTP_X_PASSWORD']))) {
        // Error: Unauthorized

        $this->_sendResponse(401);
    }
    $username = $_SERVER['HTTP_X_USERNAME'];
    $password = $_SERVER['HTTP_X_PASSWORD'];
    // Find the user
    $user=User::model()->find('LOWER(username)=?',array(strtolower($username)));
    $this->_sendResponse('200','$username');
    if($user===null) {
        // Error: Unauthorized
        $this->_sendResponse(401, 'Error: User Name is invalid');
    } 

    else if(!$user->validatePassword($password)) {
        // Error: Unauthorized
        $this->_sendResponse(401, 'Error: User Password is invalid');
    }
}

如何设置标题信息以进行认证。 如何在请求中设置HTTP_X_USERNAME和HTTP_X_PASSWORD;

RESTClient插件的名称,值和主体? 感谢提前

嗨,我已经通过以下服务器端代码解决了此问题,就像在客户端上一样设置HTTP请求标头。

private function _checkAuth()
    {
        // Check if we have the USERNAME and PASSWORD HTTP headers set?

        $headers = apache_request_headers();

        if(!(isset($headers['X_'.self::APPLICATION_ID.'_USERNAME']) and isset($headers['X_'.self::APPLICATION_ID.'_PASSWORD']))) {
            // Error: Unauthorized
            $this->_sendResponse(401);
        }

        $username = $headers['X_'.self::APPLICATION_ID.'_USERNAME'];
        $password = $headers['X_'.self::APPLICATION_ID.'_PASSWORD'];
}

我了解您的问题(与yii论坛中的帖子相同)与RESTClient插件有关。 要在RESTClient插件中设置标题,请使用“标题”功能:

  • 项目清单
  • 菜单“标题”
  • “自定义标题”
  • '名称':X_PASSWORD
  • '值':emo

与X_USERNAME相同。

HTH,

JM。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM