auth0/auth0-php

Auth0 身份验证和管理 API 的 PHP SDK。

安装次数: 13,112,368

依赖者: 68

建议者: 8

安全: 0

星标: 380

关注者: 69

分支: 209

8.11.1 2024-01-11 15:28 UTC

README

auth0-php

Auth0 身份验证和管理 API 的 PHP SDK。

Package Build Status Coverage License

📚 文档 - 🚀 入门 - 💻 API 参考 💬 反馈

文档

我们还提供了针对 LaravelSymfonyWordPress 的定制 SDK。如果您使用这些框架之一,请使用定制 SDK 以获得最佳集成体验。

入门

要求

请参阅我们的 支持策略 了解我们对 PHP 版本的支持详情。

安装

确保您已安装所需的依赖项,然后使用 Composer 将 SDK 添加到您的应用程序中

composer require auth0/auth0-php --no-dev

配置 Auth0

Auth0 控制台 中创建一个 普通 Web 应用程序。请确保“令牌端点认证方法”设置为 POST

接下来,在“设置”页面的“应用程序 URI”部分配置您的应用程序的回调和注销 URL

  • 允许的回调 URL:Auth0 在身份验证期间重定向到的应用程序 URL,例如,http://localhost:3000/callback
  • 允许的注销 URL:Auth0 在用户注销后重定向到的应用程序 URL,例如,http://localhost: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 版本。请确保您的环境保持最新,以便您可以继续接收 PHP 和此 SDK 的更新。

反馈

贡献

我们感谢您对本次仓库的反馈和贡献!在您开始之前,请参阅以下内容

提出问题

要提供反馈或报告错误,请在我们的问题跟踪器上提出问题

漏洞报告

请勿在公共 GitHub 问题跟踪器上报告安全漏洞。有关披露安全问题的负责任披露计划详细说明了程序。

Auth0 是一个易于实现且可定制的身份验证和授权平台。
要了解更多信息,请查看“为什么选择 Auth0?”

本项目采用 MIT 许可证。有关更多信息,请参阅LICENSE 文件