exeba/simplesamlphp-module-oauth2

一个为 SimpleSAMLphp 添加 OAuth2 协议支持的模块。

安装: 460

依赖: 0

建议: 0

安全: 0

星标: 1

关注者: 2

分支: 9

类型:simplesamlphp-module

4.0.1 2024-04-16 08:30 UTC

README

安装

此包通过安装 SimpleSAMLphp 模块添加对 OAuth2 协议的支持。安装可以通过执行以下命令完成:

composer.phar require exeba/simplesamlphp-module-oauth2 ~3.0

配置

配置模块

将模板文件复制到配置目录

cp modules/oauth2/config-template/module_oauth2.php config/

并编辑它。选项是自我解释的。

创建或修改模式

模式是通过位于以下位置的 doctrine 命令行工具维护的:

path/to/simplesaml/modules/oauth2/bin/doctrine

创建 OAuth2 客户端

要添加和删除 OAuth2 客户端,您需要使用管理员账户登录到 SimpleSAML。打开“联合”选项卡,您将看到“OAuth2 客户端注册”选项。

您可以指定任意多的重定向地址。

使用模块

此模块基于 PHP League 的 OAuth2 服务器,并支持以下授权类型:

  • 授权代码授权
  • 客户端凭证授权
  • 刷新授权

创建 OAuth2 密钥

使用的 OAuth2 库生成 JSON Web Tokens 以创建访问令牌,因此您需要创建公钥和私钥证书

在终端运行以下命令以生成私钥:

openssl genrsa -out cert/oauth2_module.pem 1024

如果您想为您的私钥提供密码短语,则运行此命令代替

openssl genrsa -passout pass:_passphrase_ -out cert/oauth2_module.pem 1024

然后从私钥中提取公钥

openssl rsa -in cert/oauth2_module.pem -pubout -out cert/oauth2_module.crt

或使用提供的密码短语(如果生成私钥时提供了密码短语)

openssl rsa -in cert/oauth2_module.pem -passin pass:_passphrase_ -pubout -out cert/oauth2_module.crt

如果您使用密码短语,请记住在 module_oauth2.php 配置文件中配置它。

端点

  • 授权端点:{{baseurlpath}}/module.php/oauth2/authorize
  • 令牌端点:{{baseurlpath}}/module.php/oauth2/access_token
  • 令牌声明端点:{{baseurlpath}}/module.php/oauth2/userinfo