在Yii2中创建REST api是多么简单,我印象深刻.但是,我在理解基本身份验证时遇到了一些麻烦.我的需求非常简单,我希望我的解决方案能够效仿.
我在这里需要基本令牌认证.我现在甚至都不反对硬编码,但这就是我到目前为止所做的.
我有数据库表来保存我的单数令牌ApiAccess(id,access_token)
ApiAccess.php - 模型 - 注意:IDE在第一行显示语法错误
class ApiAccess extends base\ApiAccessBase implements IdentityInterface
{
public static function findIdentityByAccessToken($token, $type = null)
{
return static::findOne(['access_token' => $token]);
}
}
Run Code Online (Sandbox Code Playgroud)
Module.php - 在init()函数中
\Yii::$app->user->enableSession = false;
Run Code Online (Sandbox Code Playgroud)
我制作了一个ApiController,每个后续名词都会延伸
ApiController.php
use yii\rest\ActiveController;
use yii\filters\auth\HttpBasicAuth;
use app\models\db\ApiAccess;
class ApiController extends ActiveController
{
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['authenticator'] = [
'class' => HttpBasicAuth::className(),
];
return $behaviors;
}
}
Run Code Online (Sandbox Code Playgroud)
目前,访问浏览器中的api端点会提示输入用户名和密码.通过REST客户端请求显示访问错误.
如何正确地将HttpBasicAuth与我的ApiAccess模型联系起来?
要么
如何对api访问令牌进行硬编码? (第一种选择显然是最好的)
我正在Ruby中制作一个网站,其中我有一系列图像(几乎像一个powerpoint),我需要自动将这些图像转换成一个连续的视频文件(mov,mpeg),显示每个图像5秒左右.任何人都有任何线索从哪里开始.
如果有工具可以完成工作,我也愿意使用其他语言.