راکت
حل شده

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

4 پاسخ

سلام دوستان من پکیج 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 کاربر هنوز ورود نکرده .
ممنون می شم کمک کنید

ثبت پرسش جدید

پاسخ‌ها

4
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

بهترین پاسخ

فکر کنم کدی که نوشتید رو خودتون درک نکردید.
کاربرتون رو دارید تازه 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

تخصص: برنامه نویس

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

کیانوش
کیانوش
@kianoosh.az

تخصص: Go developer

@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,
        ]);

شاید پاسخ شما همین‌جا باشد

کیانوش
کیانوش
@kianoosh.az

تخصص: Go developer

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

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

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