Skip to content

Commit

Permalink
fix: markdown
Browse files Browse the repository at this point in the history
  • Loading branch information
overtrue committed Jun 25, 2024
1 parent 323d7db commit 7f3fa3a
Showing 1 changed file with 26 additions and 37 deletions.
63 changes: 26 additions & 37 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 文档。

Expand Down Expand Up @@ -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',
],

//...
Expand Down Expand Up @@ -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
Expand All @@ -183,19 +182,17 @@ 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',
],
];

$socialite = new SocialiteManager($config);
$app = $socialite->create('foo');
```



## 平台

不同的平台有不同的配置方法,为了确保工具的正常运行,所以请确保你所使用的平台的配置都是如期设置的。
Expand Down Expand Up @@ -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()`
Expand Down Expand Up @@ -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' => [
Expand All @@ -448,7 +444,6 @@ $authUrl = $socialite->create('taobao')->withView('wap')->redirect();
...
```


### [Coding](https://coding.net/help/openapi#oauth)

您需要额外配置 `team_url` 为您的团队域名,例如:
Expand All @@ -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 = [
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -622,15 +615,15 @@ mixed $user->getId();

```

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

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

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

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

> 注意:当你使用 `userFromCode()` 时,这个方法只返回一个 **有效的数组**,否则将返回 **null**,因为 `userFromToken() ` 没有 token 的 HTTP 响应。
> 注意:当你使用 `userFromCode()` 时,这个方法只返回一个 **有效的数组**,否则将返回 **null**,因为 `userFromToken()` 没有 token 的 HTTP 响应。
### 通过 access token 获取用户信息

Expand All @@ -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)
Expand All @@ -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

0 comments on commit 7f3fa3a

Please sign in to comment.