我对Yii2很新,我试图用Yii2构建一个API。 我已经完成了基本的API代码,它对我来说很好。 我正在尝试使用
进行用户名密码验证
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['authenticator'] = [
'class' => CompositeAuth::className(),
'authMethods' => [
[
'class' => HttpBasicAuth::className(),
'auth' => function($username, $password)
{
$out = null;
$user = \api\modules\v1\models\User::findByUsername($username);
if($user!=null)
{
if($user->validatePassword($password)) $out = $user;
}
return $out;
}
],
]
];
return $behaviors;
}
但这适用于弹出浏览器的帖子操作或带有Baseauth的邮递员。
但我正在尝试对查询字符串执行相同操作 喜欢:http://localhost/api/userauth?username=xxxx&password=xxxx 返回访问令牌。
你能帮忙吗?提前谢谢......答案 0 :(得分:1)
这是一个坏主意。您的网络服务器会记录GET
个参数,因此可以以明文形式向有权访问日志的任何人提供凭据。改为使用POST。