کیانوش
4 سال پیش توسط کیانوش مطرح شد
4 پاسخ

ساختن توکن passport در هنگام register user

سلام دوستان من پکیج passport رو روی پروژه ام نصب کردم و می خوام هنگام register یک passport token به اون کاربر تعلق بگیره

$user = User::create([
            'name' => $Data['name'],
            'email' => $Data['email'],
            'password' => bcrypt($Data['password']),
            'api_token' => ?
        ]);

البته یک روش بلدم اونم اینه

$token = auth()->user()->createToken('Api Token')->accessToken;

ولی این روش نیاز هست کاربر ورود کرده باشه ولی در هنگام register کاربر هنوز ورود نکرده .
ممنون می شم کمک کنید


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش آپدیت شد
1

فکر کنم کدی که نوشتید رو خودتون درک نکردید.
کاربرتون رو دارید تازه create میکنید بعد میزنید auth()->user() خوب هنوز کاربر ساخته نشده و لاگین نکرده چطوری بیاد برای token بسازه اصلا.

$user = User::create([
  'name' => $Data['name'],
  'email' => $Data['email'],
  'password' => bcrypt($Data['password']),
]);

$user->update([
  'api_token' => $user->createToken('Api Token')->accessToken
])

وحید رضازاده
تخصص : برنامه نویس
@vahidrezazadeh 4 سال پیش مطرح شد
0

سلام
نه نیاز نیست که حتما لاگین کرده باشه ، اصلا پاسپورت برای زمانی هست که کاربر به روش معمول (کوکی و شسن) نمیتونه لاگین کنه مثل api ها.
همین ۲ تا کدی که نوشتین رو پشت سر هم بذارین درست میشه


کیانوش
تخصص : Go developer
@kianoosh.az 4 سال پیش مطرح شد
0

@vahidrezazadeh

ولی اینکار بهم ارور می ده

Call to a member function createToken() on null

کد هم شامل موارد زیر هست

$user = User::create([
            'name' => $Data['name'],
            'email' => $Data['email'],
            'password' => bcrypt($Data['password']),
            'api_token' => auth()->user()->createToken('Api Token')->accessToken,
        ]);

کیانوش
تخصص : Go developer
@kianoosh.az 4 سال پیش مطرح شد
0

@hesammousavi
اقای موسوی می شه بی زحمت کمک کنید


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش آپدیت شد
1

فکر کنم کدی که نوشتید رو خودتون درک نکردید.
کاربرتون رو دارید تازه create میکنید بعد میزنید auth()->user() خوب هنوز کاربر ساخته نشده و لاگین نکرده چطوری بیاد برای token بسازه اصلا.

$user = User::create([
  'name' => $Data['name'],
  'email' => $Data['email'],
  'password' => bcrypt($Data['password']),
]);

$user->update([
  'api_token' => $user->createToken('Api Token')->accessToken
])

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام