在 post man 中无法重定向到登录页面
Not able to redirect to login page in post man
我想在令牌过期后重定向到邮递员中的登录页面。我
我正在通过邮递员将数据添加到数据库中。它不应该允许用户
令牌过期后添加数据。我很困惑下一步该做什么。
路线api.php
Route::post('add','StudentController@student');
Route::get('login','StudentController@student');
控制器
class StudentController extends Controller
{
public function student(Request $request){
$myname=$request->get('stuname');
$mysubject=$request->get('subject');
$mydata=new Stuoauth();
$mydata->addstudent($myname,$mysubject);
/*if($mydata->expectsJson()){
return redirect()->json(['error'=>'faild'],401);
}
return redirect()->guest(route(login));*/
}
}
型号
class Stuoauth extends Model
{
public function addstudent($myname,$mysubject){
\DB::table('stuoauths')->insert([
'StudentName'=>$myname,
'StudentSubject'=>$mysubject
]);
}
}
User.php
同样添加了HasApiToken。
use Laravel\Passport\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens,Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
AuthServiceProvider.php
在此文件中提到令牌过期时间。
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Laravel\Passport\Passport;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
Passport::routes();
Passport::tokensExpireIn(now()->addMinute(1));
Passport::refreshTokensExpireIn(now()->addMinute(2));
}
}
数据库迁移
public function up()
{
Schema::create('stuoauths', function (Blueprint $table) {
$table->increments('id');
$table->string('StudentName');
$table->string('StudentSubject');
});
}
auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],
在路由中附加中间件
Route::post('/user','StudentController@student')->middleware('auth:api');
我想在令牌过期后重定向到邮递员中的登录页面。我 我正在通过邮递员将数据添加到数据库中。它不应该允许用户 令牌过期后添加数据。我很困惑下一步该做什么。
路线api.php
Route::post('add','StudentController@student');
Route::get('login','StudentController@student');
控制器
class StudentController extends Controller
{
public function student(Request $request){
$myname=$request->get('stuname');
$mysubject=$request->get('subject');
$mydata=new Stuoauth();
$mydata->addstudent($myname,$mysubject);
/*if($mydata->expectsJson()){
return redirect()->json(['error'=>'faild'],401);
}
return redirect()->guest(route(login));*/
}
}
型号
class Stuoauth extends Model
{
public function addstudent($myname,$mysubject){
\DB::table('stuoauths')->insert([
'StudentName'=>$myname,
'StudentSubject'=>$mysubject
]);
}
}
User.php
同样添加了HasApiToken。
use Laravel\Passport\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens,Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
AuthServiceProvider.php
在此文件中提到令牌过期时间。
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Laravel\Passport\Passport;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
Passport::routes();
Passport::tokensExpireIn(now()->addMinute(1));
Passport::refreshTokensExpireIn(now()->addMinute(2));
}
}
数据库迁移
public function up()
{
Schema::create('stuoauths', function (Blueprint $table) {
$table->increments('id');
$table->string('StudentName');
$table->string('StudentSubject');
});
}
auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],
在路由中附加中间件
Route::post('/user','StudentController@student')->middleware('auth:api');