webard/sanctum-tokens

一个用于 sanctum 令牌的 Laravel Nova 资源工具。

安装: 107

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 0

分支: 25

语言:Vue

v3.0.3 2024-02-29 21:54 UTC

This package is auto-updated.

Last update: 2024-08-29 23:01:24 UTC


README

此软件包允许您在 Nova 中使用 Sanctum 生成个人访问令牌。

此软件包是基于 https://github.com/JeffBeltran/sanctum-tokens 的分支,具有以下改进:

  • 将令牌模态调整大小到 4xl 以适应令牌长度
  • 修复复制问题
  • 复制后显示确认图标
  • 一些样式改进
  • 从 PR JeffBeltran#84 中整合了过期日期列
  • 暗色模式中的视觉修复

屏幕截图

View without any tokens Create Token View Post Create Token View View with single token Revoke Token Prompt

先决条件

  1. 安装和配置 Sanctum
  2. 拥有 Laravel Nova
    • 对于 Nova 4,使用 v2
    • 对于 Nova 3,使用 v1

安装

composer require webard/sanctum-tokens

通过将 SanctumTokens::make() 添加到 Nova 资源的字段数组中注册插件。确保已经将 Sanctum 包中的 HasApiTokens 特性添加到您的模型中。

use Jeffbeltran\SanctumTokens\SanctumTokens;

/**
 * Get the fields displayed by the resource.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return array
 */
public function fields(Request $request)
{
    return [
        ID::make('ID', 'id')->sortable(),
        ...
        SanctumTokens::make(),
    ];
}

功能

隐藏功能

您可以通过在字段上调用 hideAbilities() 方法来隐藏 UI 中对令牌功能的引用。

use Jeffbeltran\SanctumTokens\SanctumTokens;

/**
 * Get the fields displayed by the resource.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return array
 */
public function fields(Request $request)
{
    return [
        ID::make('ID', 'id')->sortable(),
        ...
        SanctumTokens::make()->hideAbilities(),
    ];
}

设置默认功能

如果您不想使用默认的 * 令牌功能,可以简单地通过将字符串数组传递给字段上的 defaultAbilities() 方法来设置自己的。

如果您想隐藏功能逻辑,这可以很好地与 hideAbilities() 方法一起使用。

use Jeffbeltran\SanctumTokens\SanctumTokens;

/**
 * Get the fields displayed by the resource.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return array
 */
public function fields(Request $request)
{
    return [
        ID::make('ID', 'id')->sortable(),
        ...
        SanctumTokens::make()->defaultAbilities(['foo', 'bar-baz']),
    ];
}

本地化

将软件包的语言文件发布到您应用程序的 resources/lang/vendor 目录。

php artisan vendor:publish --provider="Jeffbeltran\SanctumTokens\ToolServiceProvider"