iansimpson/ss-oauth2-server

Silverstripe OAuth 2.0 Server

安装量: 6,956

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 6

公开问题: 3

类型:silverstripe-vendormodule

1.1.0 2024-03-24 23:02 UTC

This package is auto-updated.

Last update: 2024-09-25 00:15:48 UTC


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_PATHOAUTH_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。很简单!