iansimpson / ss-oauth2-server
Silverstripe OAuth 2.0 Server
1.1.0
2024-03-24 23:02 UTC
Requires
- php: ^8.1
- guzzlehttp/psr7: ^2.5
- league/oauth2-server: ^8.2
- monolog/monolog: ^1.2
- robbie/psr7-adapters: ^1
- silverstripe/framework: ^4.13
- silverstripe/siteconfig: ^4.13
Requires (Dev)
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpstan/phpstan-strict-rules: ^1.5
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.9
- syntro/silverstripe-phpstan: ^1.0
README
介绍 👋
这可以使您的Silverstripe网站成为OAuth 2.0提供者。
请注意,此项目处于开发阶段。它应该能正常工作,但尚未进行广泛测试,文档也不完善。
它支持以下授权类型
- 授权码授权
- 刷新令牌授权
要求 🦺
- PHP ^8.1
- Silverstripe ^4.13
安装 👷♀️
使用Composer安装插件
composer require iansimpson/ss-oauth2-server
接下来,生成一个私钥/公钥对
openssl genrsa -out private.key 2048 openssl rsa -in private.key -pubout -out public.key chmod 600 private.key chmod 600 public.key
将这些文件放在您的Web服务器上,位置在Web根目录之外
生成加密密钥
php -r 'echo base64_encode(random_bytes(36)), PHP_EOL;'
在您的.env
文件中添加以下行,更新OAUTH_PRIVATE_KEY_PATH
和OAUTH_PUBLIC_KEY_PATH
以指向密钥文件,并添加您刚刚生成的加密密钥
OAUTH_PRIVATE_KEY_PATH="/path/to/my/private.key" OAUTH_PUBLIC_KEY_PATH="/path/to/my/public.key" OAUTH_ENCRYPTION_KEY="my-encryption-key"
最后,在执行/dev/build/
之后,进入您的网站设置,在OAuth配置中添加一个新的客户端。使用此客户端,您现在应该能够在/oauth/authorize
处生成密钥,按照OAuth 2.0规范(https://tools.ietf.org/html/rfc6749)。
用法 🏃🏃🏃
为了验证提交的授权头是否正确,请将以下内容添加到您的控制器中
$member = IanSimpson\OAuth2\OauthServerController::getMember($this);
如果授权头正确,它将返回一个Member对象,如果出错,则返回null。很简单!