winwin/omniauth

安装: 843

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

开放问题: 0

类型:项目

0.3.0 2021-11-03 09:58 UTC

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 并实现两个函数 authenticateverify。`authenticate` 函数启动身份验证流程,而 `verify` 函数将检查用户的凭证并调用 `login($user)` 来设置用户身份并返回登录前的页面。