寻找 Laravel 护照“客户端”使用示例

问题描述 投票:0回答:2

我似乎找到了大量关于使用护照设置 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 护照客户端的更好文档和/或向我展示一个基本示例吗?

laravel laravel-8 laravel-passport oauth2client
2个回答
0
投票

有过类似的旅程,我只是认为没有。

我也没有看到任何可以自信地作为强大的客户提供的任何东西,它“可以”使用护照。我怀疑这是因为 passport 本身很难设置,除了像你所看到的那样的快乐路径清洁安装。


0
投票

Socialite 应该用于 OIDC 客户,他们有 Laravel Passport 的提供者。

https://github.com/SocialiteProviders/Laravel-Passport

© www.soinside.com 2019 - 2024. All rights reserved.