diff --git a/README.md b/README.md index cf11299..cff06e0 100644 --- a/README.md +++ b/README.md @@ -12,19 +12,17 @@ Socialite 是一个 [OAuth2](https://oauth.net/2/) 认证工具。 它的灵感 如果你喜欢我的项目并想支持我,[点击这里 :heart:](https://github.com/sponsors/overtrue) -# 版本要求 +## 版本要求 -``` PHP >= 8.0.2 -``` -# 安装 +## 安装 ```shell -$ composer require "overtrue/socialite" -vvv +composer require "overtrue/socialite" -vvv ``` -# 使用指南 +## 使用指南 用户只需要创建相应配置变量,然后通过工具为各个平台创建认证应用,并轻松获取该平台的 access_token 和用户相关信息。工具实现逻辑详见参照各大平台 OAuth2 文档。 @@ -117,18 +115,18 @@ $config = [ $config = [ // 为 github 应用起别名为 foo 'foo' => [ - 'provider' => 'github', // <-- provider name - 'client_id' => 'your-app-id', + 'provider' => 'github', // <-- provider name + 'client_id' => 'your-app-id', 'client_secret' => 'your-app-secret', - 'redirect' => 'http://localhost/socialite/callback.php', + 'redirect' => 'http://localhost/socialite/callback.php', ], // 另外一个名字叫做 bar 的 github 应用 'bar' => [ - 'provider' => 'github', // <-- provider name - 'client_id' => 'your-app-id', + 'provider' => 'github', // <-- provider name + 'client_id' => 'your-app-id', 'client_secret' => 'your-app-secret', - 'redirect' => 'http://localhost/socialite/callback.php', + 'redirect' => 'http://localhost/socialite/callback.php', ], //... @@ -167,9 +165,10 @@ $socialite->extend('myprovider', function(array $config) { $app = $socialite->create('foo'); ``` -2. 使用服务提供类 +1. 使用服务提供类 ->👋🏻 你的自定义服务提供类必须实现`Overtrue\Socialite\Contracts\ProviderInterface` 接口 +> {WARNING} +> 👋🏻 你的自定义服务提供类必须实现 `Overtrue\Socialite\Contracts\ProviderInterface` 接口 ```php class MyCustomProvider implements \Overtrue\Socialite\Contracts\ProviderInterface @@ -183,10 +182,10 @@ class MyCustomProvider implements \Overtrue\Socialite\Contracts\ProviderInterfac ```php $config = [ 'foo' => [ - 'provider' => MyCustomProvider::class, // <-- 类名 - 'client_id' => 'your-app-id', + 'provider' => MyCustomProvider::class, // <-- 类名 + 'client_id' => 'your-app-id', 'client_secret' => 'your-app-secret', - 'redirect' => 'http://localhost/socialite/callback.php', + 'redirect' => 'http://localhost/socialite/callback.php', ], ]; @@ -194,8 +193,6 @@ $socialite = new SocialiteManager($config); $app = $socialite->create('foo'); ``` - - ## 平台 不同的平台有不同的配置方法,为了确保工具的正常运行,所以请确保你所使用的平台的配置都是如期设置的。 @@ -332,7 +329,6 @@ $user = $socialite->create('xigua')->userFromCode('here is auth code'); $user = $socialite->create('xigua')->withOpenId('openId')->userFromToken('here is the access token'); ``` - ### [百度](https://developer.baidu.com/wiki/index.php?title=docs/oauth) 其他配置没啥区别,在用法上,可以很轻易的选择重定向登录页面的模式,通过 `withDisplay()` @@ -432,9 +428,9 @@ $authUrl = $socialite->create('taobao')->withView('wap')->redirect(); [ 'wechat' => [ - 'client_id' => 'client_id', + 'client_id' => 'client_id', 'client_secret' => 'client_secret', - 'redirect' => 'redirect-url', + 'redirect' => 'redirect-url', // 开放平台 - 第三方平台所需 'component' => [ @@ -448,7 +444,6 @@ $authUrl = $socialite->create('taobao')->withView('wap')->redirect(); ... ``` - ### [Coding](https://coding.net/help/openapi#oauth) 您需要额外配置 `team_url` 为您的团队域名,例如: @@ -468,8 +463,7 @@ $config = [ 您可能需要设置responseType,可以使用`withResponseType`函数进行设置,默认是`code` 还可以设置为`id_token` 或`code` & `id_token` -> https://developer.paypal.com/docs/log-in-with-paypal/integrate/generate-button/ - +> <https://developer.paypal.com/docs/log-in-with-paypal/integrate/generate-button/> ```php $config = [ @@ -562,10 +556,9 @@ $response = $socialite->create('google') ->with(['hd' => 'example.com'])->redirect(); ``` - ## User interface -### 标准的 user api: +### 标准的 user api ```php $user = $socialite->create('github')->userFromCode($code); @@ -622,7 +615,7 @@ mixed $user->getId(); ``` -### 从 OAuth API 响应中取得原始数据 +### 从 OAuth API 响应中取得原始数据 `$user->getRaw()` 方法会返回一个 **array**。 @@ -630,7 +623,7 @@ mixed $user->getId(); `$user->getTokenResponse()` 方法会返回一个 **array** 里面是响应从获取 token 时候 API 返回的响应。 -> 注意:当你使用 `userFromCode()` 时,这个方法只返回一个 **有效的数组**,否则将返回 **null**,因为 `userFromToken() ` 没有 token 的 HTTP 响应。 +> 注意:当你使用 `userFromCode()` 时,这个方法只返回一个 **有效的数组**,否则将返回 **null**,因为 `userFromToken()` 没有 token 的 HTTP 响应。 ### 通过 access token 获取用户信息 @@ -639,11 +632,9 @@ $accessToken = 'xxxxxxxxxxx'; $user = $socialite->userFromToken($accessToken); ``` +## Enjoy it! :heart: - -# Enjoy it! :heart: - -# 参照 +## 参照 - [Alipay - 用户信息授权](https://opendocs.alipay.com/open/289/105656) - [DingTalk - 扫码登录第三方网站](https://ding-doc.dingtalk.com/doc#/serverapi3/mrugr3) @@ -668,14 +659,12 @@ $user = $socialite->userFromToken($accessToken); - [Gitee - OAuth文档](https://gitee.com/api/v5/oauth_doc#/) - [PayPal - OAuth文档](https://developer.paypal.com/docs/log-in-with-paypal/) - - -# PHP 扩展包开发 +## PHP 扩展包开发 > 想知道如何从零开始构建 PHP 扩展包? > > 请关注我的实战课程,我会在此课程中分享一些扩展开发经验 —— [《PHP 扩展包实战教程 - 从入门到发布》](https://learnku.com/courses/creating-package) -# License +## License MIT