notakey/simplesamlphp-module-oauth2

一个添加OAuth 2.0协议支持的SimpleSAMLphp模块。

安装: 152

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分叉: 9

类型:simplesamlphp-module

2.6.2 2021-12-02 11:03 UTC

README

安装

此软件包通过SimpleSAMLphp模块安装支持OAuth2协议,该模块可以通过Composer安装。安装可以像执行以下命令一样简单:

composer.phar require sgomez/simplesamlphp-module-oauth2 1.0.0 # for SSP < 1.14
composer.phar require sgomez/simplesamlphp-module-oauth2 ~1.0 # for SSP >= 1.14
composer.phar require sgomez/simplesamlphp-module-oauth2 ~2.0 # for SSP >= 2.0|master

配置

配置模块

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

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

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

创建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.php

现在您需要请求访问令牌。请参阅第二部分

访问令牌服务器地址是:{{baseurlpath}}/module.php/oauth2/access_token.php

隐式令牌

要请求隐式令牌,请参阅隐式授予帮助页面以了解您需要发送的参数。

授权服务器地址是:{{baseurlpath}}/module.php/oauth2/authorize.php

获取属性

要恢复用户属性,您需要将带有访问令牌作为Bearer Token的Authorization头发送到userinfo页面:{{baseurlpath}}/module.php/oauth2/userinfo.php

示例

curl --request GET \
  --url http://server.com/simplesaml/module.php/oauth2/userinfo.php \
  --header 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni...'