auth0 / auth0-php
Auth0认证和管理API的PHP SDK。
Requires
Requires (Dev)
- ergebnis/composer-normalize: ^2
- friendsofphp/php-cs-fixer: ^3
- mockery/mockery: ^1
- pestphp/pest: ^2
- phpstan/phpstan: ^1
- phpstan/phpstan-strict-rules: ^1
- psr-mock/http: ^1
- rector/rector: 0.17.6
- spatie/ray: ^1
- symfony/cache: ^4 || ^5 || ^6
- symfony/event-dispatcher: ^4 || ^5 || ^6
- vimeo/psalm: ^5
- wikimedia/composer-merge-plugin: ^2
Suggests
- psr/cache-implementation: (PSR-6 Cache) Improve performance by avoiding making redundant network requests.
- psr/event-dispatcher-implementation: (PSR-14 Event Dispatcher) Observe and react to events when they occur.
- dev-main
- 8.11.1
- 8.11.0
- 8.10.0
- 8.9.3
- 8.9.1
- 8.9.0
- 8.8.0
- 8.7.1
- 8.7.0
- 8.6.0
- 8.5.0
- 8.4.0
- 8.3.8
- 8.3.7
- 8.3.6
- 8.3.5
- 8.3.4
- 8.3.3
- 8.3.2
- 8.3.1
- 8.3.0
- 8.2.1
- 8.2.0
- 8.1.0
- 8.0.6
- 8.0.5
- 8.0.4
- 8.0.3
- 8.0.2
- 8.0.1
- 8.0.0
- 8.0.0-BETA3
- 8.0.0-BETA2
- 8.0.0-BETA1
- 7.x-dev
- 7.9.2
- 7.9.1
- 7.9.0
- 7.8.0
- 7.7.0
- 7.6.2
- 7.6.1
- 7.6.0
- 7.5.0
- 7.4.0
- 7.3.0
- 7.2.0
- 7.1.0
- 7.0.0
- 6.0.0-alpha.2
- 6.0.0-alpha.1
- 5.7.0
- 5.6.0
- 5.5.1
- 5.5.0
- 5.4.0
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.0
- 5.1.1
- 5.1.0
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.13
- 4.0.12
- 4.0.11
- 4.0.10
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.4.3
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.7
- 3.3.6
- 3.3.5
- 3.3.4
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.1
- 3.0.0
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.0
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.6.8
- 0.6.7
- 0.6.6
- 0.6.5
- 0.6.4
- 0.6.3
- dev-sdk-xxx_test
- dev-security-ci-pull_request_target
This package is auto-updated.
Last update: 2024-09-23 05:54:22 UTC
README
Auth0认证和管理API的PHP SDK。
文档
我们还提供了针对Laravel、Symfony和WordPress的定制SDK。如果您使用这些框架之一,请使用相应的SDK以获得最佳集成体验。
- 快速入门
- 使用会话的应用程序 — 展示了一个使用会话的传统Web应用程序,支持登录、登出和查询用户资料。 完成后的源代码也可用。
- 使用访问令牌的API — 展示了一个后端API,使用前端客户端提供的访问令牌授权端点并返回JSON。 完成后的源代码也可用。
- PHP示例 — 常见场景的代码示例。
- 文档中心 — 了解如何将Auth0集成到您的应用程序中。
入门
要求
- PHP 8.1+
- Composer
- PHP扩展
- 依赖项
请参阅我们的支持策略以获取有关我们PHP版本支持的详细信息。
安装
确保已安装必要的依赖项,然后使用Composer将SDK添加到您的应用程序中
composer require auth0/auth0-php --no-dev
配置Auth0
在Auth0仪表板中创建一个常规Web应用程序。请确保“令牌端点认证方法”设置为POST
。
接下来,在“设置”页面的“应用程序URI”部分下配置您的应用程序的回调和注销URL
- 允许的回调URL:Auth0在认证期间将重定向到的您的应用程序的URL,例如
https://:3000/callback
。 - 允许的注销URL:Auth0在用户注销后将重定向到的您的应用程序的URL,例如
https://:3000/login
。
请注意域名、客户端ID和客户端密钥。这些值将在以后使用。
将登录添加到您的应用程序中
创建一个配置了您的 Auth0 域和 Auth0 应用程序客户端 ID 及密钥的 SdkConfiguration
实例。使用 openssl rand -hex 32
生成一个足够长的随机字符串作为您的 cookieSecret
。创建一个新的 Auth0
实例并将配置传递给它。
use Auth0\SDK\Auth0; use Auth0\SDK\Configuration\SdkConfiguration; $configuration = new SdkConfiguration( domain: 'Your Auth0 domain', clientId: 'Your Auth0 application client ID', clientSecret: 'Your Auth0 application client secret', cookieSecret: 'Your generated string', ); $auth0 = new Auth0($configuration);
使用 getCredentials()
方法检查用户是否已认证。
// getCredentials() returns null if the user is not authenticated. $session = $auth0->getCredentials(); if (null === $session || $session->accessTokenExpired) { // Redirect to Auth0 to authenticate the user. header('Location: ' . $auth0->login()); exit; }
完成认证流程,通过调用 exchange()
获取令牌。
if (null !== $auth0->getExchangeParameters()) { $auth0->exchange(); }
最后,您可以使用 getCredentials()?->user
来检索关于我们认证用户的信息。
print_r($auth0->getCredentials()?->user);
完成了!您已成功使用 Auth0 认证了第一位用户! 从这里,您可能想跟随 我们的快速入门之一 或浏览 我们的示例 以获得更多见解和指导。
如果您有疑问,Auth0 社区 是一个询问问题和获得帮助的绝佳资源。
不受信任来源的输入
如果您的应用程序接受来自不受信任来源的输入(例如来自 HTTP 请求的查询参数),请确保您遵循数据验证和清理的最佳实践。确保任何提供给 SDK 的数据有效且安全是您应用程序的责任。有关更多信息,请参阅 OWASP 数据验证速查表。
API 参考
支持策略
我们的支持周期与 PHP 发布支持时间表 相同。
当 PHP 版本达到生命周期的结束阶段且不再从 PHP 基金会接收安全修复时,我们将停止对其的支持。请确保您的环境保持最新,以便您可以继续接收 PHP 和此 SDK 的更新。
反馈
贡献
我们感谢您对这一仓库的反馈和贡献!在您开始之前,请参阅以下内容
提出问题
要提供反馈或报告错误,请 在我们的问题跟踪器上提出问题。
漏洞报告
请勿在公共 GitHub 问题跟踪器上报告安全漏洞。有关披露安全问题的程序,请参阅 负责任披露计划。
Auth0 是一个易于实现且可定制的认证和授权平台。
要了解更多信息,请查看 "为什么选择 Auth0?"
本项目采用 MIT 许可证。有关更多信息,请参阅 LICENSE 文件。