【发布时间】:2015-11-15 09:32:33
【问题描述】:
我正在用 laravel 5.1 开发一个网站。我需要编写将使用 API 调用与其他系统通信的代码。其他系统由 oAuth 投影。所以我首先需要使用 oAuth 对我的系统进行身份验证,然后我才能制作 api。
我不确定如何在 laravel 中实现这一点。对此的任何帮助都非常感谢。
【问题讨论】:
我正在用 laravel 5.1 开发一个网站。我需要编写将使用 API 调用与其他系统通信的代码。其他系统由 oAuth 投影。所以我首先需要使用 oAuth 对我的系统进行身份验证,然后我才能制作 api。
我不确定如何在 laravel 中实现这一点。对此的任何帮助都非常感谢。
【问题讨论】:
您可以通过多种方式实现目标。
Laravel 特定方法
有许多用于处理 oAuth 身份验证的软件包。例如OAuth Service Provider for Laravel 5 来自 github。您可以搜索其他类似的包并使用它们。
狂饮
由于您需要在身份验证后调用 api,因此您需要 CURL 或其他包来进行调用。这里Guzzle可以帮助你。您还可以使用 Guzzle 编写完整的 oAuth 身份验证代码。
简单的 PHP 方法
您可以使用 OAuth 类库来编写 oAuth 身份验证或使用 CURL
我个人只使用 Guzzle 来获取代码、访问令牌、刷新令牌等。我希望你能设法将 Guzzle 用于此目的。
【讨论】:
您应该查看laravel/socialite 及其文档here。
该库目前支持 Facebook、Twitter、LinkedIn、Google、GitHub 和 Bitbucket,但创建您自己的自定义提供程序将非常容易。看看github上的源码就知道了。
除此之外,您还可以使用一些独立的 OAuth 库,例如 league/oauth2-client。还有专门用于第一版 OAuth 的库。
【讨论】: