我似乎找到了大量关于使用护照设置 laravel、使用护照设置 api/服务器的教程。使用 oauth 在该服务器上进行身份验证。甚至在 JSON 接口中设置客户端。但是在浏览了谷歌结果页面和堆栈溢出问题之后,我还没有找到在 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 护照客户端的更好文档和/或向我展示一个基本示例吗?
有过类似的旅程,我只是认为没有。
我也没有看到任何可以自信地作为强大的客户提供的任何东西,它“可以”使用护照。我怀疑这是因为 passport 本身很难设置,除了像你所看到的那样的快乐路径清洁安装。
Socialite 应该用于 OIDC 客户,他们有 Laravel Passport 的提供者。