winwin / omniauth
Requires
- php: >=7.2
- ext-json: *
- ext-openssl: *
- psr/http-factory: ^1.0
- psr/http-server-middleware: ^1.0
- psr/log: ^1.0
Requires (Dev)
- hybridauth/hybridauth: ~3.0
- kuiper/web: ^0.6
- laminas/laminas-diactoros: ^2.0
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^0.12.34
- phpstan/phpstan-strict-rules: ^0.12.4
- phpunit/phpunit: ^6.0
- psr/container: ^1.0
- roave/security-advisories: dev-master
- slim/slim: ^4.5
- vlucas/phpdotenv: ^5.0
- winwin/composer-phpcs-plugin: ^0.2
Suggests
- hybridauth/hybridauth: To use oauth2 providers implements in Hybridauth 3
This package is auto-updated.
Last update: 2024-09-13 15:38:32 UTC
README
Omniauth 是一个受 Opauth 启发的多提供方身份验证中间件。
如何使用它?
查看 示例 以了解其工作原理。
配置
Omniauth 类的构造函数有几个选项可以控制其行为。
策略
一个数组,包含身份验证提供方的配置。键是提供方名称,也将用于路由匹配,值是策略构造函数的参数。
策略的常见配置键是 strategy_class
,也可以通过调用设置。
<?php $omniauth->getStrategyFactory()->register($providerName, $strategyClass);
路由
匹配将进行身份验证的 URI 的模式。默认值是 /:strategy/:action
。`:strategy` 占位符将扩展为正则表达式,匹配 strategies
配置中列出的所有提供方名称,而 `:action` 占位符将匹配空字符串或任何单词。
auth_key
用于在 $_SESSION
数组中保存用户身份的键名。默认值是 'auth'
auto_login
如果值为 true,则 omniauth 将检查当前用户是否已登录(通过检查 $_SESSION['auth']
是否为空),如果没有,则将用户重定向到默认登录页面。默认值是 true
。
redirect_uri_key
用于在 $_SESSION
数组中保存重定向用户到登录页面之前当前页面的键名。当用户成功登录时,omniauth 将用户重定向到保存的页面。默认值是 login_redirect_uri
。
identity_transformer
一个用于在保存到会话之前转换用户身份的函数。
如何添加我的身份验证策略?
查看 PasswordStrategy 以了解如何实现新的身份验证策略。
通常,策略应该扩展 AbstractStrategy 并实现两个函数 authenticate
和 verify
。`authenticate` 函数启动身份验证流程,而 `verify` 函数将检查用户的凭证并调用 `login($user)` 来设置用户身份并返回登录前的页面。