如何使用令牌对用户进行身份验证(在 iPhone 中保持身份验证)
How to authenticate user with token (stay authenticated in iPhone)
我有两个相关的问题,我已经卡了2天了,希望有人能帮助我
第一:手机phone认证失败
这是我所做的:
1- 用户注册
2- 令牌释放
3- 用户设备中保存的令牌
但是当同一个用户尝试执行 API 请求时,我得到
报名途径:
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->post('auth/signup', 'App\Api\V1\Controllers\AuthController@signup');
然后我得到一个令牌,所以我想一切看起来都很棒!
然后现在当同一台设备向 laravel 发送 post 请求时,我收到此消息
"message": "Failed to authenticate because of bad credentials or an invalid authorization header."
这是 post 请求
的路径
$api->group(['middleware'=>'api.auth'],
function ($api) {
$api->post('auth/ios', 'App\Api\V1\Controllers\AuthController@create');
其次:我这个方法保存手机发的数据对吗phone?
由于无法测试此方法,我想知道这是否至少是接收和保存数据的正确方法之一。保存它的原因是因为我会在控制面板中显示它。
public function create(Request $request)
{
$user = new User();
$id = Auth::id();
$user->phone = $request->input('phone');
$user->city = $request->input('city');
$user->street = $request->input('street');
$user->save();
return 'Employee record successfully created with id ' . $user->id;
}
我了解到您是基于 api 令牌对用户进行身份验证。
您可以执行以下操作:
- 通过添加以下迁移在用户 table 中设置名为
api_token
的列
$table->string('api_token', 60)->unique();
。这会为每个用户生成一个随机的 api 令牌。
- 将
api_token
发送回用户的设备并将其保存在那里
- 随每个请求发回。最好全局设置,在请求Authentication请求头中发送
- 像这样获取认证用户
$user= Auth::guard('api')->user();
Laravel 负责幕后的所有身份验证工作。
了解更多相关信息here
我有两个相关的问题,我已经卡了2天了,希望有人能帮助我
第一:手机phone认证失败
这是我所做的:
1- 用户注册
2- 令牌释放
3- 用户设备中保存的令牌
但是当同一个用户尝试执行 API 请求时,我得到
报名途径:
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->post('auth/signup', 'App\Api\V1\Controllers\AuthController@signup');
然后我得到一个令牌,所以我想一切看起来都很棒! 然后现在当同一台设备向 laravel 发送 post 请求时,我收到此消息
"message": "Failed to authenticate because of bad credentials or an invalid authorization header."
这是 post 请求
的路径 $api->group(['middleware'=>'api.auth'],
function ($api) {
$api->post('auth/ios', 'App\Api\V1\Controllers\AuthController@create');
其次:我这个方法保存手机发的数据对吗phone?
由于无法测试此方法,我想知道这是否至少是接收和保存数据的正确方法之一。保存它的原因是因为我会在控制面板中显示它。
public function create(Request $request)
{
$user = new User();
$id = Auth::id();
$user->phone = $request->input('phone');
$user->city = $request->input('city');
$user->street = $request->input('street');
$user->save();
return 'Employee record successfully created with id ' . $user->id;
}
我了解到您是基于 api 令牌对用户进行身份验证。
您可以执行以下操作:
- 通过添加以下迁移在用户 table 中设置名为
api_token
的列$table->string('api_token', 60)->unique();
。这会为每个用户生成一个随机的 api 令牌。 - 将
api_token
发送回用户的设备并将其保存在那里 - 随每个请求发回。最好全局设置,在请求Authentication请求头中发送
- 像这样获取认证用户
$user= Auth::guard('api')->user();
Laravel 负责幕后的所有身份验证工作。
了解更多相关信息here