我在Laravel8中使用JWT进行API身份验证。
当我在我的控制器中使用auth()->
时,对于factory()或temperp()或任何东西,laravel不知道它,并说:
未定义的方法“尝试”。Intelephense(1013)
我不知道我忘了包括什么
我得AuthController:
namespace App\Http\Controllers\Api\Admin;
use App\Models\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
class AuthController extends Controller
{
public function __construct() {
$this->middleware('auth:api', ['except' => ['login', 'register']]);
}
public function login(Request $request){
$validator = Validator::make($request->all(), [
'email' => 'required|email',
'password' => 'required|string|min:6',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 422);
}
if (! $token = auth()->attempt($validator->validated())) {
return response()->json(['error' => 'Unauthorized'], 401);
}
return $this->createNewToken($token);
}
.
.
.
.
.
和我的config/auth.php文件:
return [
'defaults' => [
'guard' => 'api',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'jwt',
'provider' => 'users',
'hash' => false,
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
// Following array is newly added to config
'otp-user' => [
'driver' => 'otp-based-auth-provider'
],
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
'throttle' => 60,
],
],
'password_timeout' => 10800,
];
尝试将防护设置为web,因为您将使用login/pwd
if (! $token = auth('web')->attempt($validator->validated())) {
return response()->json(['error' => 'Unauthorized'], 401);
}
或
if (! $token = auth()->guard('web')->attempt($validator->validated())) {
return response()->json(['error' => 'Unauthorized'], 401);
}
或者手工操作
$user = User::where('email', $request->email)->first();
if ($user) {
if (Hash::check($request->password, $user->password)) {
$token = $user->createToken('Laravel Password Grant Client')->accessToken;
$response = ['token' => $token];
return response()->json($response, 200);
} else {
return response()->json(['error' => 'Unauthorized'], 401);
}
} else {
return response()->json(['error' => 'Unauthorized'], 401);
}
我做了一些事情,现在当我尝试使用标准Laravel Auth实现登录时,我得到以下错误 在User.php第9行异常:类'照明\基金会\Auth\用户'未找到 编辑User.php不存在于和没有修复它
我收到了以下错误消息: 致命错误:未捕获错误:在F:\projects\websites\main\u website\app\Exceptions\Handler中找不到类“Auth”。php:65堆栈跟踪:#0 F:\projects\websites\main\u website\vendor\laravel\framework\src\illighted\Foundation\Http\K
早些时候,在jQuery中编写自定义控件的唯一方法是扩展$.fn命名空间。 这适用于简单的小部件。 假设您构建了更多有状态的小部件,它很快变得很麻烦。 为了帮助构建小部件,Widget Factory在jQuery UI中引入,它删除了通常与管理小部件相关的大部分样板。 jQueryUI Widget Factory只是一个函数($ .widget),它将字符串名称和对象作为参数,并创建一个jQu
我在Rails(3.2.1)中有一个路由问题。 我正在使用omniauth saml进行身份验证(https://github.com/PracticallyGreen/omniauth-saml). 医生说: “用于简化IdP中SAML SP配置的服务提供商元数据可以从http://example.com/auth/saml/metadata.将此URL发送给IdP的管理员。" 当我转到我的服务
我正在使用codeigniter开发一个web应用程序。 我有个问题 当我这样要求控制器的时候 一切都很好,但当我这样要求控制器时 得到了这个错误 我用这个htaccess规则 它工作在服务器上没有错误我有这个问题在wamplocahost.where问题是什么? 我终于找到了: 重写引擎在 重写 /Saffron/ 重写规则^index\. php$-[L] 重写康德%{REQUEST_FILE
factory 提供工厂模式支持,将来包括若干类型的 BCCSP 实现。 null:空实现,测试用; software:软件实现; HSM:PKCS11,基于高安全模块的实现。