我正在使用:
为Laravel Passport制作了Laravel文档中描述的所有检查表,经过某些步骤后,我收到了有效OAuth访问令牌的HTTP 401。
下面是我的一些配置:
这是因为默认情况下,Apache不会将授权头传递给PHP。您需要编辑Apache站点配置,以便在Deskpro指令中添加一行。请注意,此配置必须直接添加到Apache的配置中(例如,将其添加到htaccess将不起作用)
<VirtualHost>
# ...
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
# ...
我也有一个非常类似的问题:
您的代码和我的代码之间的差异:在路由/api中。php
,我只使用了auth:api
。我没有创建PassportServiceProvider。应用程序文件夹中的php。在内核中。php
我的是客户端
而不是客户端凭据
。
我在POST请求调用中使用了client\u凭证
作为grant\u类型
。结果我总是得到401。
直到我创建了一个用户使用密码授予客户端:
php artisan passport:client --password
并将POST请求呼叫中的客户端\u凭据
更改为密码
:
$http = new GuzzleHttp\Client;
$response = $http->post('http://your-app.com/oauth/token', [
'form_params' => [
'grant_type' => 'password',
'client_id' => 'client-id',
'client_secret' => 'client-secret',
'username' => 'taylor@laravel.com',
'password' => 'my-password',
'scope' => '',
],
]);
$access_token = json_decode((string) $response->getBody(), true)['access_token'];
将返回的访问令牌放在头的承载器中,它就会工作。您还可以使用$request获取当前用户-
如果您使用
client_credentials
作为grant_type
,它将通过客户端中间件,因此在中间件中需要删除auth: api
。
我想使用服务帐户实现谷歌表API请求。我创建了这个代码: 但是我得到了这个错误: com.google.api.client.auth.oauth2.TokenResponseException: 401 未经授权 在这个方法中 你知道我该如何解决这个问题吗?
我使用了以下来自google的示例https://developers.google.com/identity/sign-in/web/server-side-flow到目前为止,我能够实现以下步骤: 用户在客户端(浏览器)进行身份验证。 代码返回并保存在服务器数据库中。 请求身份验证代码令牌时,响应异常:401未授权 我检查了以下内容: 接口已启用 在 https://developers.go
我成功地将Graph API用于各种事情,但我需要访问OneNote API来在班级笔记本上执行学生和教师的添加/删除操作。当我用https://www.OneNote.com资源请求一个令牌时,它提供了一个令牌,但当我试图使用它访问OneNote API时,无论发送什么(有效)请求,我都会得到401--“请求不包含有效的身份验证令牌”。 我的令牌请求: POST https://login.mi
我正在使用spring boot文档https://www.baeldung.com/spring-boot-keycloak并且我已经停在了第4点。我不能通过POSTMAN和curl生成令牌,请给我任何建议,特别是上面的文档。我的错误是客户端凭据错误。 curl-x POST http://localhost:8080/auth/realms/master/protocol/openid-con
这快把我逼疯了...一切都应该是正确的,我总是得到未经授权的错误在我的API路由! Api.php路由: }); 注册控制器: 数据库: 请求: 接受应用/json设置为: 我也尝试使用jQuery来请求一个查询参数api_key但它也不起作用!! 我搜索了很多,但无法解决这个问题。我有另一个新的应用程序与Laravel和auth,它的作品完美,但这个项目是旧的,我最近更新到Laravel 7,我
请看下面生成的guzzle请求数据。 我在这里做错了什么?请分享你的想法。谢谢你。