momchilsv / typo3-cognito
为TYPO3 CMS提供的Cognito身份验证服务
0.0.3
2017-06-27 13:14 UTC
Requires
- php: >=5.5.0
- typo3/cms-core: >=7.6.0,<8.0
This package is not auto-updated.
Last update: 2024-09-29 03:05:58 UTC
README
该扩展提供了通过JSON Web Tokens (jwt)在Amazon Cognito云平台存储的用户身份验证服务。
要求
- TYPO3 CMS 7.6 / 可能也适用于v8 /
- PHP 5.5+
- Amazon Cognito用户设置
- 使用RS512签名的JWT身份验证令牌
安装
该扩展已在TER(Typo3扩展仓库)发布,可以通过扩展管理器进行安装。您的前端用户必须存储在Amazon Cognito云平台。
扩展配置
- OpenID提供者配置URI:包含OpenID提供者配置信息的JSON文档(通常是https://{provider}/.well-known/openid-configuration)。默认值:https://cognito-identity.amazonaws.com/.well-known/openid-configuration
- jwt的get参数名称:$_GET参数,包含'jwt'令牌。默认值:jwt
- 用户存储文件夹UID:存储系统文件夹,所有新Cognito用户都将本地保存
- 用户组UID:所有新创建的本地Cognito用户的用户组
- 优先级:优先级用于定义服务的调用顺序。优先级最高的服务首先被调用。默认范围是0-100。默认值:85
- 质量:在具有相同优先级的服务中,优先级相同且质量最高的服务将被优先考虑。默认范围是0-100。默认值:85
身份验证
当您传递get参数'logintype=login'和包含jwt Cognito令牌的get参数'jwt='时,typo3 cognito身份验证被触发。包含令牌的get参数名称可通过扩展管理器进行配置,默认值为'jwt'
http:/dev.project/index.php?logintype=login&jwt={amazon-cognito-jwt-token}
jwt令牌的有效负载部分必须包含作为json对象的'sub'属性的user cognito ID。当前在Typo3中未使用有效负载jwt部分的其他用户数据。根据用户cognito ID进行本地检查,如果不存在具有该ID的本地用户,则在'fe_users'表中创建新用户。
技术背景
- Typo3中的身份验证服务https://docs.typo3.org/typo3cms/Typo3ServicesReference/Authentication/Index.html
- Amazon Cognitohttps://aws.amazon.com/cognito/
- JWThttps://jwt.net.cn/
- RSA (加密系统)https://en.wikipedia.org/wiki/RSA_(cryptosystem)
待办事项
- 支持其他jwt加密算法
- 使用jwt有效负载部分中的更多用户数据
- 在Typo3 v8 LTS中测试扩展