Did you create a personal access client? You can read more about it in the docs.
Documentation: https://laravel.com/docs/7.x/passport#creating-a-personal-access-client
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
I am new to Laravel and I am doing a react-native program with Laravel backend. In this case, the data table that I used is the Member table but not the user table. I can successfully log into the react-native by member email & password, but fail to get the data from user Laravel. It returns
{"message": "Unauthenticated."}
APIAuthController
public function login(Request $request)
{
$validator = Validator::make($request->all(), [
'email' => 'required|email',
'password' => 'required',
]);
if ($validator->fails()) {
return response()->json(['error'=>$validator->errors()], 401);
}
$credentials = $request->only('email', 'password');
if(Auth::guard('member-api')->attempt($credentials))
{
$user = Auth::guard('member-api')->user();
$success['token'] = $user->createToken('asApp')->accessToken;
return response()->json(['success' => $success], 200);
}else {
return response()->json(['error'=>'Email or password incorrect'], 401);
}
}
public function user()
{
return response()->json(['user' => Auth::guard('member-api')->user()], 200);
}
The login function is work and return the accesstoken
api.php
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::post('login','APIAuthController@login');
Route::post('register','APIAuthController@register');
Route::group(['middleware' => 'auth:member-api'], function(){
Route::post('user', 'APIAuthController@details');
});
auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
'member-api' => [
'driver' => 'session',
'provider' => 'members',
],
],
Here is React Native function is u need.
fetchUserInformation = async () => {
const token = await AsyncStorage.getItem('id_token')
console.log(token)
const response = await fetch('http://192.168.0.025:8888/api/user', {
method: 'GET',
headers:{
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Bearer '. token
}
});
const user = await response.json();
console.log(user)
}
I have tried many way but still can't solve. Anyone facing this problem before? Its about return of user. I can provide anything else that you think is affected.
Please or to participate in this conversation.