- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试登录我的 Laravel 应用程序,它使用护照并添加了 guzzle
发布到我的 oath/token
路由,这样用户就可以登录,而不必暴露我的 secret_key
但是我遇到了一个我似乎无法解决的错误
问题
我已经用护照更新了我的 Laravel 应用程序,并在本地测试了我的后端,效果很好。在我将 Laravel 应用程序部署到我的实时服务器测试环境后,我在尝试登录时开始出现错误。
起初,guzzle 无法验证我当前实时环境的 SSL。所以我把验证变成了假。现在我开始得到一个不同的东西,它说明了我的网址 oath/token
路线错了。这是错误的,因为直接发布到我的“誓言/ token ”似乎与 postman 一起工作。
我还检查了路线是否存在 php artisan route:list
总结:guzzle 指出我发布的网址不存在,但确实存在
我的获取 token 功能
public function getToken(& $username, $password)
{
$http = new \GuzzleHttp\Client;
try {
$response = $http->post(config('services.passport.login_endpoint'), [
//'verify' => false,
'verify' => ( env( 'APP_ENV' ) === 'local' ) ? false : true,
'form_params' => [
'grant_type' => 'password',
'client_id' => config('services.passport.client_id'),
'client_secret' => config('services.passport.client_secret'),
'scope' => '',
'username' => $username,
'password' => $password,
]
]);
return $response->getBody();
} catch (\GuzzleHttp\Exception\BadResponseException $e) {
if ($e->getCode() === 400) {
return response()->json('Invalid Request. Please enter a username or a password.', $e->getCode());
} else if ($e->getCode() === 401) {
return response()->json('Your credentials are incorrect. Please try again', $e->getCode());
}
return $e;
}
}
GuzzleHttp\Exception\ClientException: Client error: `POST https: //my.domain.com/oauth/token` resulted in a `404 Not Found` response:
Guzzle
向我现有的路线发布一些内容,它会从我的 Laravel 应用程序返回响应。
* Trying {my ip adres}...
* TCP_NODELAY set
* Connected to {mydomain} {my ip adres} port 443 (#0)
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
* subject: C=CH; L=Schaffhausen; O=Plesk; CN=Plesk; emailAddress=info@plesk.com
* start date: Feb 9 14: 54: 36 2020 GMT
* expire date: Feb 8 14: 54: 36 2021 GMT
* issuer: C=CH; L=Schaffhausen; O=Plesk; CN=Plesk; emailAddress=info@plesk.com
* SSL certificate verify result: self signed certificate (18), continuing anyway.
> POST /oauth/token HTTP/1.1
Host: {mydomain}
User-Agent: GuzzleHttp/6.3.3 curl/7.58.0 PHP/7.1.33
Content-Type: application/x-www-form-urlencoded
Content-Length: 144
* upload completely sent off: 144 out of 144 bytes
< HTTP/1.1 404 Not Found
< Server: nginx
< Date: Wed,
01 Apr 2020 17: 31: 26 GMT
< Content-Type: text/html; charset=iso-8859-1
< Content-Length: 266
< Connection: keep-alive
<
* Connection #0 to host {mydomain} left intact
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
<hr>
<address>Apache Server at my.domain.com Port 443</address>
</body></html>
| | POST | oauth/token | passport.token | Laravel\Passport\Http\Controllers\AccessTokenController@issueToken | throttle |
| | GET|HEAD | oauth/tokens | passport.tokens.index | Laravel\Passport\Http\Controllers\AuthorizedAccessTokenController@forUser | web,auth |
| | DELETE | oauth/tokens/{token_id} | passport.tokens.destroy | Laravel\Passport\Http\Controllers\AuthorizedAccessTokenController@destroy | web,auth |
最佳答案
您是否尝试在配置的 login.endpoint 前面添加基本 url,例如:
$response = $http->post(config('app.url'). config('services.passport.login_endpoint'), [
...
]
]);
关于php - Guzzle 向自己的服务器发送请求导致 `404 Not Found`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60916674/
我们在日常使用电脑的时候,有些情况下可能会遇到出现提示found.000文件丢失损坏的情况。那么如果想要对found.000文件进行恢复,小编觉得可以在我们的文件夹选项中进行相关设置,找到被隐藏的文
下面的代码给出了“未找到”的输出。但我希望它能给出“发现”。我的错误在哪里? #include void compare(char *x, char *face); int i; int main(
为什么我的 git 不推送?我创建了存储库,但不断收到此消息: C:\Users\petey_000\rails_projects\first_app>git push -u github maste
我正在使用 Spring Boot 构建 Web API。端点之一采用 JSON 发布请求。我想在某些字段上设置验证消息。所以我在/src/main/resources 下添加了一个 Validati
我按照此页面上的说明进行操作: https://developers.facebook.com/docs/plugins/share-button/#settings 我得到一个工作共享对话框,但是当
如何在事件监听器中触发重定向到特定路由器? 有很多示例,但我找不到“GetResponseForExceptionEvent”的示例。例如,当我将 @roter 作为参数传递时,$this->rout
我使用下面的代码来发布 ssl 网络服务。当我浏览 https://localhost/ 它给我这个错误: 404 Not Found No context found for request 代码:
我正在尝试构建一个 docker 镜像但是正在获取 未找到 secret pip:未找到 对此有什么想法吗? docker 文件: FROM SHELL ["/bin/bash", "-c"] RU
我正在使用 indy TIDHTTP 编写一种方法来了解我在互联网上的服务器是否已关闭或同一服务器上的页面地址不可用。 我复制了 stackoverflow 上另一个线程中给出的建议: try I
我尝试将结果附加到列表中(如果找到),并将字符串“N/A”附加到列表中(如果未找到匹配项)。 show_version_lists 是来自各种网络设备的日志列表。 import re for resu
我在这里尝试加载关于我们的页面。但是找不到请求的页面。请提供此问题的解决方案。 查看: ">HOME /CI_timeline/
我不会问问题,而是回答一个问题,因为到目前为止我在网上找不到这个建议,并且自己刚刚弄清楚了这一点。分享是件好事,对吧? 所以在命令行上,我这样做了: sudo npm install -g cordo
我有一个脚本来处理一些参数并使用这些参数部署 Arm 模板,然后使用我的存储帐户中的 bacpac 文件创建数据库。当我的脚本尝试调用 cmdlet“New-AzSqlDatabaseImport”时
我使用“chrome://inspect”几天了。一切都很好。今天,由于某种原因,当我单击“检查”时,结果是“404 Not Found 找不到资源。” 这可能是什么原因? 我只能找到这个主题:htt
我的 Ubuntu 14.04 有一个奇怪的问题。我正在使用 Django-Rest-Framework 开发一个使用 Ionic 和 API 的移动应用程序。开发完成后,我下载了 jdk 和 And
我正在使用calabash-android-java测试使用 Xamarin 构建的混合应用程序。正如您在下面看到的,我能够查询 DOM 元素,甚至将一些信息记录到控制台,但是当我执行 touch 命
搜索功能非常有用,但我不确定如何为其添加某些“附加功能”。当有结果显示时,我还想说: "Your search returned x results." 后面是结果。 当没有结果显示时,我想说: "Y
我试图在我的应用程序中实现导航功能。当我尝试构建应用程序时,输出显示: Android resource linking failed /home/mateusz/AndroidStudioProje
我需要查询公共(public)项目提供的数据集。我创建了自己的项目并将他们的数据集添加到我的项目中。有一个表名为:domain_public .当我对该表进行查询时,我收到此错误: Query Fa
我对 Node.js 相当陌生,我使用的是下面页面中的教程。 http://www.9lessons.info/2017/02/create-restful-api-nodejs-mysql.html
我是一名优秀的程序员,十分优秀!