silverstripe / realme
为 SilverStripe 添加对通过 RealMe (https://www.realme.govt.nz/) 进行身份验证的支持
Requires
- php: ^8.1
- onelogin/php-saml: ^4
- silverstripe/framework: ^5
Requires (Dev)
- 6.x-dev
- 5.x-dev
- 5.4.x-dev
- 5.4.0-beta1
- 5.3.x-dev
- 5.3.2
- 5.3.1
- 5.3.0
- 5.3.0-rc1
- 5.3.0-beta1
- 5.2.x-dev
- 5.2.1
- 5.2.0
- 5.2.0-rc1
- 5.2.0-beta1
- 5.1.x-dev
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.x-dev
- 5.0.2
- 5.0.1
- 5.0.0
- 5.0.0-rc1
- 5.0.0-beta1
- 4.x-dev
- 4.5.x-dev
- 4.5.3
- 4.5.2
- 4.5.1
- 4.5.0
- 4.5.0-beta1
- 4.4.x-dev
- 4.4.6
- 4.4.5
- 4.4.4
- 4.4.3
- 4.4.2
- 4.4.1
- 4.4.0
- 4.4.0-rc1
- 4.4.0-beta1
- 4.3.x-dev
- 4.3.0
- 4.3.0-rc1
- 4.3.0-beta1
- 4.2.x-dev
- 4.2.0
- 4.2.0-rc1
- 4.2.0-beta1
- 4.1.x-dev
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.1.0-rc1
- 4.0.x-dev
- 4.0.2
- 4.0.1
- 4.0.0
- 3.x-dev
- 3.1.x-dev
- 3.1.5
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.x-dev
- 3.0.0
- 3.0.0-rc1
- 2.x-dev
- 2.1.1
- 2.1.0
- 2.1.0-rc2
- 2.1.0-rc1
- 2.0.x-dev
- 2.0.1
- 2.0.0
- 0.9.1
- 0.9.0
- dev-feature/2/ite-datacom
- dev-master
This package is auto-updated.
Last update: 2024-09-21 00:04:58 UTC
README
通过 RealMe 为 Silverstripe 添加身份验证和身份断言支持。
此模块为 Silverstripe 应用程序与身份提供者 RealMe 的快速集成提供基础。在使用此模块之前,需要大量设置。
如果需要与 RealMe 集成,最好尽早联系 RealMe 团队。这可以通过 联系 RealMe 团队 完成。
如果您遇到任何问题,请 在此处创建新问题。
安装
composer require silverstripe/realme
为您的应用程序配置 RealMe
RealMe 提供两个测试环境和生产环境,您可以在其中进行集成。对这些环境的访问受到严格控制,更多相关信息可以在 RealMe 开发者网站 上找到。
有关在模块可以使用之前所需的配置和 YML 配置的信息,请参阅 configuration.md。
提供 RealMe 登录按钮
默认情况下,该模块在 SilverStripe 中提供了一个 Authenticator
类,添加了一个新的登录表单。如果您想为 RealMe 提供单独的登录表单,则内置模板可以帮助您完成此操作。它们已被设计为尽可能干净地与 Silverstripe 模板集成,但您是否使用它们或创建自己的模板取决于您。
有关使用或修改这些模板的更多信息,请参阅 模板文档。
身份验证测试
RealMeService
服务对象允许您在任何需要的地方注入身份验证。例如,让我们看看一个简单的 Controller,它确保所有用户都有有效的 RealMe 'FLT'(一个唯一字符串,用于标识 RealMe 用户,但不是他们的用户名)
use SilverStripe\Control\Controller; use SilverStripe\Control\HTTPRequest; use SilverStripe\RealMe\RealMeService; class RealMeTestController extends Controller { /** * @var RealMeService */ public $realMeService; private static $dependencies = array( 'realMeService' => '%$SilverStripe\RealMe\RealMeService' ); public function index(HTTPRequest $request) { // enforceLogin will redirect the user to RealMe if they're not authenticated, or return true if they are // authenticated with RealMe. It should only ever return 'false' if there was an error initialising config if($this->realMeService->enforceLogin($request)) { $userData = $this->realMeService->getUserData(); printf("Congratulations, you're authenticated with a unique ID of '%s'!", $userData->SPNameID); } else { echo "There was an error while attempting to authenticate you."; } } }
感谢
- 衷心感谢 Jackson (@jakxnz) 对拉取请求的审查和更新工作。