esplora/auto-login

通过临时链接实现无缝自动登录功能,提供便捷且安全的应用访问。

1.0.0 2023-07-22 00:59 UTC

This package is auto-updated.

Last update: 2024-09-04 15:00:49 UTC


README

Laravel 的 AutoLogin 包通过临时链接实现无缝自动登录功能。通过安全地使用时间限制的临时自动登录链接,使用户能够方便地访问您的应用程序。

安装

您可以使用 Composer 包管理器在项目中安装 AutoLogin。

composer require esplora/auto-login

用法

要开始使用 AutoLogin 包,请按照以下步骤操作

  1. 在您的 routes/web.php 文件中添加自动登录的路由
use Esplora\AutoLogin\AutoLogin;

AutoLogin::routes();

这将注册自动登录功能的必要路由。

  1. 在您的控制器、电子邮件或其他相关位置使用以下方法创建临时自动登录链接
AutoLogin::to('/path');
// or use named routes
AutoLogin::route('telescope', [
    'active' => '1'
]);

这些方法将生成自动登录用户的有效链接。默认情况下,将使用当前认证的用户。但是,如果在控制台或未认证的环境中执行代码,您需要将用户 ID 作为第二个参数传递

AutoLogin::to('/path', 123);
// or use named routes
AutoLogin::route('telescope', [
    'active' => '1'
], 123);

配置

AutoLogin 包提供了一些配置选项以满足您的需求。默认情况下,自动登录 URL 设置为 /autologin。但是,如果您已更改此路由的使用,您可以使用以下方法指定所需的 URL

use Esplora\AutoLogin\AutoLogin;

AutoLogin::routes('/your/path/autologin');

此外,您还可以指定一个 Blade 模板来自定义自动登录视图。只需将所需的模板路径作为第二个参数传递

use Esplora\AutoLogin\AutoLogin;

AutoLogin::routes('/your/path/autologin', 'path.for.your.blade.template');

在您的自定义模板中,您可以访问 link 变量,其中包含自动登录 URL,并根据需要使用它。

<!-- path.for.your.blade.template -->

<!doctype html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Redirecting...</title>

    <script type="text/javascript">
      setTimeout(function () {
        window.location.href = "{{ $link }}";
      }, 3000);
    </script>
  </head>
  <body>
    <h1>You are being redirected</h1>

    <p>You will be redirected to an external page in a few seconds.</p>

    <p>
      If you are not redirected automatically, please click
      <a href="{{ $link }}">here</a>.
    </p>
  </body>
</html>

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件