问题标签 [yii2-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2618 浏览

rest - Yii2-Api:如何为 HttpBearer 过滤器传递 Token

这是我的控制器

这里的问题是当我发送发布请求时它返回 401 错误。我知道这是认证错误它甚至没有命中函数 public static function findIdentityByAccessToken($token, $type = null) { return static::findOne(['auth_key' => $令牌]); 我知道问题出在 HttpBearerAuth::className()。我怎么能在这里解决这个错误是图像 在此处输入图像描述

0 投票
1 回答
1158 浏览

rest - Yii2 Api - 使用 Oauth 对用户和网站进行身份验证?

我正在构建一个处理来自不同网站的内容的服务。每个网站都有自己的用户。

因此,我需要对访问我的 API 的网站进行身份验证,并且我需要对从该网站登录的用户进行身份验证。

由于 Yii2 不能处理 2 个并行用户身份,在这种情况下我不能使用角色。我决定按以下方式构建它:

处理网站

我有一个名为“网站”的表,网站包含 2 个字段 access_token 和 expiration_token。

从任何网站(这是 Yii 的基本安装)他们做:

如果令牌过期,他们可以向入口点“网站/刷新访问令牌”发出另一个请求

然后每个请求 GET 或 POST 他们必须发送这个 access_token,它保存在 SESSION 中(令牌现在每 7 天过期一次)。

这不是通过任何 HTTP 验证来处理的,只是直接向 api 请求令牌。

处理用户

对于这部分,当用户使用电子邮件/密码或社交网络进行身份验证时,我向用户控制器发出请求,我在其中设置了承载令牌:

这部分是一个正在进行的工作,所以假设网站将请求登录入口点:

这假设获取 access_token 并检查令牌到期日期。

我的问题是:

这是为我的特定场景处理 API 请求的好主意吗?我认为有很多电话可以获取简单的数据。获取数据是否需要使用token?

如果我想使用承载令牌来处理内容和用户访问,我会怎么做?

0 投票
0 回答
615 浏览

angular - 如何在 Angular 7 中调用 Yii2 的 rest API

我有一个进行 API 调用的 Angular 服务。这是我的subscribe.service.ts文件

被称为 API 的 postURL 在 yii2 中。下面是我的ApiController.php文件

我正在尝试使用 http.post 从角度发布数据到 yii2 中的操作"subscribe",但我收到以下错误

当我在控制台中签入“网络”时,没有添加以下行,这表示我在控制器中编写的内容没有实现 CORS。根据我的研发,必须在“ http://localhost/sampleproject/frontend/web/api/subscribe ”中添加以下行

我已经搜索了解决方案并实施了它们,但在所有情况下我仍然遇到相同的错误。

请帮忙 !!我从 2 天开始就在尝试这个。我无法找到合适的解决方案,因此在此处发布。

0 投票
0 回答
126 浏览

angular - Angular 7 http.post 正在向 yii2 API 发送 null

我正在尝试将数据从角度提交到 Yii2

这是我的角度服务,我试图通过 POST 发送数据

下面是我actionSubscribe在yii2中的。受到角度影响的 API

当我调用 API 并尝试打印 $_POST 时,我得到的结果为null.

为什么我得到空值。请帮忙!!

0 投票
1 回答
509 浏览

php - yii2中Rest身份验证(HttpBearerAuth)的覆盖响应

我有基于令牌的授权,为此我做了以下更改。

用户模型中,覆盖findIdentityByAccessToken()方法如下。

在控制器中,我添加behaviors()如下。

当 API 未获得令牌或令牌无效时,它会给出以下响应

我想根据我的要求更改响应,如下所示。

0 投票
1 回答
51 浏览

yii2 - 创建迁移历史表“迁移”语法错误

在 bitbucket 上运行管道时出现此错误

此错误来自何处以及如何解决此错误

0 投票
2 回答
99 浏览

api - 获取 Yii2 中 extraFields 的所有属性

从 extraFields() url 获取属性就像

但是我怎样才能从 extraFields() 一次得到所有这些

像这样的组织/6/location?expands=true 或 all

这个控制器

这是我的模型代码

0 投票
1 回答
64 浏览

angular - 使用 Angular 和 yii2 实现多语言应用程序的最佳方法是什么

我在后端使用 yii2 restful api,在前端使用 angular。

我想问一下实现多语言功能的最佳方法,该功能可以在同一个地方(数据库表、文件)管理前端和后端。

0 投票
2 回答
282 浏览

yii2 - Yii2:Rest API 返回 xml 而不是 json

我刚刚使用 Yii2 构建了一个应用程序作为 Flutter App 的后端

所以..我创建了一个模块/api文件夹,并在其中创建了控制器,就像这样

它工作正常,但它返回 XML

我在 web.php 中尝试过

但它仍然返回 XML

更新

当我使用

它给了我Not Found (#404)

0 投票
0 回答
19 浏览

electron - 无法将 http 请求中的 post 变量从 Electron 传递到 Yii API

我想使用 Electron 向使用 Yii2 构建的 API 发出 API(获取和发布)请求。我尝试过 Axion、Fetch、HTTP、请求模块,它们都给了我同样的错误:

data: { name: 'PHP Notice', message: 'Undefined index: username', code: 8, type: 'yii\base\ErrorException', file: 'C:\xampp\htdocs\app\controllers\ApiController.php ',行:898,'堆栈跟踪':[数组] }

这是我要调用的操作的代码:

这是 Electron 中的代码:

由于某种原因,参数没有传递给操作。我尝试了很多方法,这个似乎是最简单的。PS我尝试过的所有方式都给出了同样的错误。