karelvanzijl/sanctum-tokens

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

v1.0.1 2023-04-22 05:26 UTC

This package is auto-updated.

Last update: 2024-09-22 08:20:38 UTC


README

此包允许您使用 SanctumNova 中生成个人访问令牌。

屏幕截图

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 karelvanzijl/sanctum-tokens

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

use Karelvanzijl\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 Karelvanzijl\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 Karelvanzijl\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="Karelvanzijl\SanctumTokens\ToolServiceProvider"