Download the PHP package overtrue/socialite without Composer

On this page you can find all versions of the php package overtrue/socialite. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package socialite

Socialite

Socialite 是一个 OAuth2 认证工具。 它的灵感来源于 laravel/socialite , 你可以很轻易的在任何 PHP 项目中使用它。英文文档

GitHub release (latest SemVer) GitHub License Packagist Downloads

Sponsor me

该工具现已支持平台有:Facebook,Github,Google,Linkedin,Outlook,QQ,TAPD,支付宝,淘宝,百度,钉钉,微博,微信,抖音,飞书,Lark,豆瓣,企业微信,腾讯云,Line,Gitee,Coding。

如果你喜欢我的项目并想支持我,点击这里 :heart:

版本要求

安装

使用指南

用户只需要创建相应配置变量,然后通过工具为各个平台创建认证应用,并轻松获取该平台的 access_token 和用户相关信息。工具实现逻辑详见参照各大平台 OAuth2 文档。

工具使用大致分为以下几步:

  1. 配置平台设置
  2. 创建对应平台应用
  3. 让用户跳转至平台认证
  4. 服务器收到平台回调 Code,使用 Code 换取平台处用户信息(包括 access_token)

为 Laravel 用户创建的更方便的整合的包: overtrue/laravel-socialite

authorize.php: 让用户跳转至平台认证

callback.php:

配置

为每个平台设置相同的键值对后就能开箱即用:client_id, client_secret, redirect.

示例:

自定义应用名

你可以使用任意你喜欢的名字对每个平台进行命名,比如说 foo, 采用别名的方法后需要在配置中多设置一个 provider 键,这样才能告诉工具包如何正确找到你想要的程序:

扩展自定义服务提供程序

你可以很容易的从自定义的服务提供中创建应用,只需要遵循如下两点:

  1. 使用自定义创建器

    如下代码所示,为 foo 应用定义了服务提供名,但是工具本身还未支持,所以使用创建器 extend(),以闭包函数的形式为该服务提供创建一个实例。

  2. 使用服务提供类

👋🏻 你的自定义服务提供类必须实现Overtrue\Socialite\Contracts\ProviderInterface 接口

接下来为 provider 设置该类名让工具可以找到该类并实例化:

平台

不同的平台有不同的配置方法,为了确保工具的正常运行,所以请确保你所使用的平台的配置都是如期设置的。

支付宝

请按如下方式配置

本工具暂时只支持 RSA2 个人私钥认证方式。

钉钉

如文档所示

注意:该工具仅支持 QR code 连接到第三方网站,用来获取用户信息(opeid, unionid 和 nickname)

抖音

注意: 使用抖音服务提供的时候,如果你想直接使用 access_token 获取用户信息时,请先设置 openid。 先调用 withOpenId() 再调用 userFromToken()

头条

注意: 使用头条服务提供的时候,如果你想直接使用 access_token 获取用户信息时,请先设置 openid。 先调用 withOpenId() 再调用 userFromToken()

西瓜

注意: 使用西瓜服务提供的时候,如果你想直接使用 access_token 获取用户信息时,请先设置 openid。 先调用 withOpenId() 再调用 userFromToken()

百度

其他配置没啥区别,在用法上,可以很轻易的选择重定向登录页面的模式,通过 withDisplay()

popup 模式是工具内默认的使用模式。basic 是默认使用的 scopes 值。

飞书

通过一些简单的方法配置 app_ticket 就能使用内部应用模式

Lark

通过一些简单的方法配置 app_ticket 就能使用内部应用模式

淘宝

其他配置与其他平台的一样,你能选择你想要展示的重定向页面类型通过使用 withView()

web 模式是工具默认使用的展示方式, user_info 是默认使用的 scopes 范围值。

微信

我们支持开放平台代表公众号进行第三方平台网页授权。

你只需要像下面这样输入你的配置。官方账号不需要授权。

Coding

您需要额外配置 team_url 为您的团队域名,例如:

其他一些技巧

Scopes

在重定向用户之前,您还可以使用 scopes() 方法在请求上设置 “范围”。此方法将覆盖所有现有的作用域:

Redirect URL

你也可以动态设置' redirect_uri ',你可以使用以下方法来改变 redirect_uri URL:

State

你的应用程序可以使用一个状态参数来确保响应属于同一个用户发起的请求,从而防止跨站请求伪造 (CSFR) 攻击。当恶意攻击者欺骗用户执行不需要的操作 (只有用户有权在受信任的 web 应用程序上执行) 时,就会发生 CSFR 攻击,所有操作都将在不涉及或警告用户的情况下完成。

这里有一个最简单的例子,说明了如何提供状态可以让你的应用程序更安全。在本例中,我们使用会话 ID 作为状态参数,但是您可以使用您想要为状态创建值的任何逻辑。

带着 state 参数的重定向

检验回调的 state

一旦用户授权你的应用程序,用户将被重定向回你的应用程序的 redirect_uri。OAuth 服务器将不加修改地返回状态参数。检查 redirect_uri 中提供的状态是否与应用程序生成的状态相匹配:

查看更多关于 state 参数的文档

其他的一些参数

要在请求中包含任何可选参数,调用 with() 方法传入一个你想要设置的关联数组:

User interface

标准的 user api:

你可以像这样以数组键的形式获取 user 属性:

或者使用该 User 对象的方法:

从 OAuth API 响应中取得原始数据

$user->getRaw() 方法会返回一个 array

当你使用 userFromCode() 想要获取 token 响应的原始数据

$user->getTokenResponse() 方法会返回一个 array 里面是响应从获取 token 时候 API 返回的响应。

注意:当你使用 userFromCode() 时,这个方法只返回一个 有效的数组,否则将返回 null,因为 userFromToken() 没有 token 的 HTTP 响应。

通过 access token 获取用户信息

Enjoy it! :heart:

参照

PHP 扩展包开发

想知道如何从零开始构建 PHP 扩展包?

请关注我的实战课程,我会在此课程中分享一些扩展开发经验 —— 《PHP 扩展包实战教程 - 从入门到发布》

License

MIT


All versions of socialite with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0.2
ext-json Version *
ext-openssl Version *
guzzlehttp/guzzle Version ^7.0
symfony/psr-http-message-bridge Version ^2.1|^6.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package overtrue/socialite contains the following files

Loading the files please wait ....