hashandsalt/kirby3-auth0

支持 Kirby 3+ 的 Auth0

安装: 3

依赖: 0

建议者: 0

安全: 0

星星: 3

关注者: 1

分支: 0

开放问题: 0

类型:kirby-plugin

v1.0.0 2023-07-22 14:25 UTC

This package is auto-updated.

Last update: 2024-09-22 17:06:45 UTC


README

这是一个为 K3+ 开发的插件,允许通过 Auth0 进行前端去中心化登录。

安装

手动

将插件文件夹复制到 site\plugins

Composer

composer require hashandsalt/kirby3-auth0

设置

该插件使用 .env 文件来保护 Auth0 凭据。您需要在公共文件夹根目录下创建一个 .env 文件,并包含以下内容(将 XXX 替换为您自己的详细信息)

# Your Auth0 application's Client ID
AUTH0_CLIENT_ID=XXX

# The URL of your Auth0 tenant domain
AUTH0_DOMAIN=XXX

# Your Auth0 application's Client Secret
AUTH0_CLIENT_SECRET=XXX

# A long, secret value used to encrypt the session cookie.
# This can be generated using `openssl rand -hex 32` from your shell.
AUTH0_COOKIE_SECRET=XXX

您应该将此文件排除在 Git 之外。

使用方法

一旦在 Auth0 控制台中设置了配置正确的应用程序,您就可以开始处理用户。在一个控制器(推荐)或模板中,我们可以检查用户是否已登录并获取用户的个人资料

$auth0 = site()->auth0();
$session = $auth0->getCredentials();
$user = $session === null ? null : $session->user;

现在我们可以使用这些信息来创建一个登录/注销切换。一个非常基础的例子

if (is_null($user)) {
  echo 'You are not logged in</br>';
  echo '<p>Please <a href="/login">log in</a>.</p>';
} else {
  $name = $user['given_name'] ?? $user['nickname'] ?? $user['email'] ?? 'Unknown';
  echo '<h1>Welcome '  . $name . '!</h1>';
  echo '<p><a href="/logout">log out</a>.</p>';
}

个人资料中还有更多信息,例如用户的 Gravatar 图片。使用 dump($user) 查看其他信息。

选项

更改基本 URI 和 .env 文件的位置

'hashandsalt.auth0.baseUri' => 'https://:3000/', // set to your live domain name on the public server
'hashandsalt.auth0.env' => './',

贡献者