【发布时间】:2023-01-18 08:41:57
【问题描述】:
我似乎找到了大量关于使用护照设置 laravel、使用护照设置 api/服务器的教程。使用 oauth 在该服务器上进行身份验证。甚至在 JSON 接口中设置客户端。但是在浏览了 google 结果页面和堆栈溢出问题之后,我还没有找到在 laravel 中使用 passport 设置“使用客户端”的示例。
有人能给我一个线索和/或给我一个关于你如何在 laravel 中使用护照的客户端部分的文档吗?
我使用 artisan 命令创建了一个客户端来与 etsy oauth2 api v3 对话。他们需要在初始交换中发送额外的 code_challenge 和 code_challenge_method 字段以获取代码。然后,当您获得代码时,您需要请求具有给定范围的特定访问令牌,偶尔请求刷新它们。然后使用令牌来执行各个请求。
authorization url: https://www.etsy.com/oauth/connect
query params:
response_type="code"
code_challenge_method="S256"
redirect_uri=(local callback url)
scope=(list of scopes)
client_id={clientid}
state={random nonce}
(返回代码)
令牌请求:getAuthorizationUrl(redirectrui,scopes,code,state)
我已经准备好构建参数数组的代码:
$scope_list = implode(' ', EtsyToken::DEFAULT_SCOPES);
$params = [
'response_type' => EtsyToken::DEFAULT_RESPONSE_TYPE,
'client_id' => env('ETSY_APP_KEYSTRING'),
'redirect_url' => self::getRedirectUri(),
'scope' => $scope_list,
'state' => $this->_token->state,
'code_challenge' => $this->_token->challenge,
'code_challenge_method' => EtsyToken::CODE_CHALLENGE_METHOD
];
我已经设法让它在单独的(非 laravel)测试脚本中与 guzzle 一起工作。我什至准备好重定向 url 来捕获结果,并准备好一个方法/模型来获取和存储令牌详细信息。如果可能的话,我想使用护照来处理通信。我知道它甚至可以完成我构建令牌模型要做的大部分工作。
有人可以指导我更好地了解有关使用 laravel 护照客户端的文档和/或向我展示一个基本示例吗?
【问题讨论】:
标签: laravel laravel-8 laravel-passport oauth2client