informeren / oauth2-mobilepay
The PHP League OAuth2-Client 的 MobilePay OAuth 2.0 客户端提供者
1.4.1
2020-08-19 17:13 UTC
Requires
- php: ^7.3
- ext-json: *
- ext-openssl: *
- lcobucci/jwt: ^3.3
- league/oauth2-client: ^2.0
- phpseclib/phpseclib: ^2.0
- web-token/jwt-core: ^2.1
Requires (Dev)
- phpstan/phpstan: ^0.12.25
- phpunit/phpunit: ^9.1
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-20 02:39:51 UTC
README
本包为 PHP League 的 OAuth 2.0 客户端 提供MobilePay OAuth 2.0 支持。
本包符合 PSR-1、PSR-4 和 PSR-12 标准。如发现不符合之处,请通过 pull request 提交补丁。
要求
以下版本的 PHP 被支持。
- PHP 7.3
- PHP 7.4
安装
使用 composer 安装包
$ composer require informeren/oauth2-mobilepay
用法
$provider = new MobilePay([ 'clientId' => 'examplecompany', 'clientSecret' => 'yxWIQHKjeEXW1ayL7kV77mh9YInAZNmSjJGuOrG69GE', 'discoveryUri' => 'https://www.example.com/discovery', 'redirectUri' => 'https://www.example.com/redirect', ]);
clientId
和 clientSecret
值由 MobilePay 提供。其余的值由您提供。
创建授权 URL
$url = $provider->getAuthorizationUrl([ 'scope' => ['openid', 'subscriptions', 'offline_access'], 'response_type' => 'code id_token', 'response_mode' => 'fragment', 'code_verifier' => 'MVLkNAsW0uy5PnH3L3YwUzXqcPzMfNeKPIfD4K32MN4', 'merchant_vat' => 'DK12345678', ]);
第一次请求后,您必须对所有后续授权请求使用相同的 code_verifier
值,因此请将其保存在安全的地方。
在浏览器中打开生成的 URL 并接受请求。您将被重定向到 redirectUri
,授权码将在 code
URL 参数中可用。
使用授权码获取访问令牌
$token = $provider->getAccessToken('authorization_code', [ 'code' => 'gDnCpS1n2tUB4D428D2v4Daw77mKm66N2xekzEBSmKzeDspdUfrNnCTFWuZ2Ly9F', 'code_verifier' => 'MVLkNAsW0uy5PnH3L3YwUzXqcPzMfNeKPIfD4K32MN4', ]);
刷新访问令牌
$token = $provider->getAccessToken('refresh_token', [ 'refresh_token' => 'NDAwxVTnsE5KlHf4ganujXfG3EAAJkj0DquVuxXxZk6c4G1G0tIX8vQ40Jzxaq0j', ]);
命令行界面
该包包含一个简单的命令行界面,用于执行最常见的操作。运行它时不要加参数以获取使用说明。
使用以下命令生成授权 URL 并在您的默认浏览器中打开。
$ ./vendor/bin/mobilepay-auth authorize | xargs open
测试
可以使用以下方式运行测试
$ composer test
可以使用以下方式运行静态分析
$ composer analyze
可以使用以下方式运行风格检查
$ composer check
文档
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件。