【发布时间】:2019-11-29 15:28:20
【问题描述】:
我用护照创建了 api。我的所有 api 在 localhost 上运行良好。但是当我在共享主机上部署时,我的登录和注册 api 工作正常,但详细信息 api 不起作用。我重写了 htacess 规则,但什么也没发生。为什么会出现这个问题?
这是我的示例代码
控制器类
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\User;
use Illuminate\Support\Facades\Auth;
use Validator;
class UserController extends Controller
{
public $successStatus = 200;
public function login(){
if(Auth::attempt(['mobile' => request('mobile'), 'password' => request('password')])){
$user = Auth::user();
$success['token'] = $user->createToken('quiz')-> accessToken;
return response()->json(['success' => $success], $this-> successStatus);
}
else{
return response()->json(['error'=>'Unauthorised'], 401);
}
}
public function details()
{
$user = Auth::user()`enter code here`;
return response()->json(['success' => $user], $this-> successStatus);
}
}
路线
<?php
use Illuminate\Http\Request;
Route::post('register', 'UserController@register');
Route::post('login', 'UserController@login');
Route::group(['middleware' => 'auth:api'], function()
{
Route::post('details', 'UserController@details');
});
});
型号
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Laravel\Passport\HasApiTokens;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
use HasApiTokens;
protected $fillable = [
'name', 'mobile', 'password','city','image',
];
protected $hidden = [
'password', 'remember_token',
];
}
我收到错误 InvalidArgumentException: Route [login] not defined。
【问题讨论】:
-
遇到同样的问题,你解决了吗? @Majid Alaeinia
-
在标头上使用accept = application/json时,收到一条消息
Unauthenticated -
@MohamedRaza 我不是提出这个问题的人,我只是编辑了这个问题,但你试过
php artisan passport:install吗?如果你收到Unauthenticated,你应该重新考虑你持有的令牌。 -
是的,我在服务器上安装了护照,但在实时的 apache 服务器上还不能使用
标签: laravel api localhost shared-hosting laravel-passport