【问题标题】:DELETE to /oauth/personal-access-tokens/token not supported不支持删除到 /oauth/personal-access-tokens/token
【发布时间】:2018-12-14 04:48:40
【问题描述】:

我在使用 laravel 护照时遇到了一些奇怪的问题,该问题不会在 localhost 上发生,但当我想撤销令牌时,它会在虚拟主机上在线。

DELETE to /oauth/personal-access-tokens/26b3a9adf97f20949156798fc491687446cacde48914124c717b6f3318866afd9590e0ddabc5efc1 not supported.

其他一切正常。

【问题讨论】:

  • 你有没有反向代理/中间件/...比如varnish或者nginx?
  • 老实说我不知道​​你在说什么:D
  • 此网络服务器配置可能会导致此问题。你用的是什么http服务器?你还有其他使用 HTTP DELETE 的路由吗?
  • Apache,我看到 put、patch 或 delete 不起作用...
  • 我无权更改 apache 设置,它的共享主机。有什么方法或者我应该从这些更改为 POST 吗?

标签: php laravel laravel-5 laravel-passport laravel-5.7


【解决方案1】:

我创建了一个本地护照环境,这在 PersonalAccessTokens.vue 中似乎对我有用:

revoke(token) {
    axios.post('/oauth/personal-access-tokens/' + token.id, {'_method': 'DELETE'})
    .then(response => {
         this.getTokens();
    });
}

虽然 axios 会发送一个帖子,但 {'_method': 'DELETE'} 告诉 Laravel 使用在 Laravel\Passport\RouteRegistrar 中定义的 delete 端点:

$router->delete('/tokens/{token_id}', [
    'uses' => 'AuthorizedAccessTokenController@destroy',
]);

【讨论】:

  • 它适用于本地一切,现在我将供应商路由注册更改为发布和 vue axios 发布,它也适用于虚拟主机
  • 你不应该改变任何路由,只需上面的vue代码
  • 我做了,但我一直收到 405 错误,因为不允许的方法
  • 你重建你的 vue 组件了吗?
  • 我也收到了 405,没有{'_method': 'DELETE'}
猜你喜欢
  • 2018-11-30
  • 1970-01-01
  • 2022-12-01
  • 2015-06-12
  • 2022-06-12
  • 2015-06-02
  • 2016-04-26
  • 2019-02-01
  • 1970-01-01
相关资源
最近更新 更多