小编joe*_*pat的帖子

Laravel:如何在没有中间件的情况下检查 API 路由的用户身份验证('auth:api')

我如何检查当前用户从控制器访问方法是否经过身份验证,相关 API 路由不受任何身份验证中间保护,因为该路由可供公众和访客用户访问,我检查了我的请求标头不记名令牌正在通过,我正在为我的路线使用反应路由器。api驱动程序是passport

公共路线

Route::get('product/list', 'ProductController@index')

尝试过什么

  1. 将默认的 AUTH Guard 更改为api

  2. Auth()->guard('api')->check()尝试在控制器方法中显式调用。

    if (Auth()->guard('api')->check()) {
          return 'is_favourite';
    } else {
          return 'unauthenticated';
    }
Run Code Online (Sandbox Code Playgroud)
  1. 也这样称呼它Auth()->check()
    if (Auth()->check()) {
          return 'is_favourite';
    } else {
          return 'unauthenticated';
    }
Run Code Online (Sandbox Code Playgroud)

结果

总是'unauthenticated'

预期结果:is_favourite在标头中传递承载令牌时的结果,如果未提供承载令牌,则为“未经身份验证”。

laravel laravel-passport laravel-api laravel-7

2
推荐指数
1
解决办法
2285
查看次数

从 json 数组中填充 vuetify 选择

我是 VUEJS 的新手,无法使用包含 json 对象数组的本地 JSON 文件中的国家/地区名称填充 vuetify 选择元素。它不是填充选项,而是为每个国家/地区创建单个选择对象。

这是我的表格....

<form>
  <v-select v-validate="'required'" v-bind="countryData"
  v-for="item in countryData" :key="item.name" :items="item.name"
  v-model="select" :error-messages="errors.collect('country')"
  label="Country" data-vv-name="country" prepend-icon="mdi-flag"
  required></v-select>
 </form>
Run Code Online (Sandbox Code Playgroud)

这是我的剧本......

<script>
import Vue from "vue";
import VeeValidate from "vee-validate";
import countryData from '@/components/countryData.json';
Vue.use(VeeValidate);
export default {
  name: "signup",
  $_veeValidate: {
    validator: "new"
  },
  data: () => ({
    countryData: countryData,
    country: ''
    })
</script>
Run Code Online (Sandbox Code Playgroud)

这里 JSON 文件结构...

[
    {
        "id": 1,
        "name": "Afghanistan",
        "iso3": "AFG",
        "iso2": "AF",
        "country_code": "4",
        "phone_code": "93",
        "capital": "Kabul", …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-component vuejs2 vuetify.js

1
推荐指数
1
解决办法
4427
查看次数