pathe/auth0-php

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

8.7.1 2023-08-07 04:45 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

配置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社区是一个提问和获取帮助的绝佳资源。

API参考

支持政策

我们的支持周期与PHP发布支持计划相一致。

当PHP版本达到生命周期的结束并停止从PHP基金会接收安全修复时,我们将停止支持PHP版本。请确保您的环境保持最新,以便您可以继续接收PHP和此SDK的更新。

反馈

贡献

我们感谢对这一存储库的反馈和贡献!在您开始之前,请参阅以下内容

提出问题

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

漏洞报告

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

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

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