我在用户模型中实现了findIdentityByAccessToken。Yii2 REST API基本身份验证(SESSION OVERRIDE)
public static function findIdentityByAccessToken($token, $type = null)
{
$apiUser = ApiAccess::find()
->where(['access_token' => $token])
->one();
return self::findOne(['id' => $apiUser->idUser]);
}
在浏览器中,如果我登录到系统,我可以打一个API获得端点,进入我的身份验证令牌,并正确进行身份验证。
但是,如果我没有登录,我会被踢回到我的登录屏幕。使用休息客户端,我返回了登录屏幕的HTML。
这表明在我眼中2件事中的1件。无论是在当前状态下,它都需要一个“登录会话”才能访问该api模块。或#2,我没有正确传递身份验证令牌。
我的请求头:
Accept: */*
Cache-Control: no-cache
Authentication: Basic base64('mytoken':)
如何重写我的 “默认” 的登录行为?或正确发送身份验证令牌?