آموزش API ها در PHP: از پایه تا پیشرفته

APIs in PHP: from Basic to Advanced

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: از API های REST از PHP استفاده کنید، و API RESTful خود را با استفاده از PHP ساده، با کلید API و احراز هویت توکن JWT ایجاد کنید. (CRUD) با استفاده از API درک آنچه که API های REST و RESTful هستند ایجاد یک API RESTful در PHP درک نحوه عملکرد مکانیسم های مختلف احراز هویت API ایجاد احراز هویت با کلید API برای API خود درک نحوه عملکرد نشانه های وب JSON (JWT)، مزایا و معایب، و چرا از آنها استفاده می کنیم درک نحوه عملکرد درخواست ها و پاسخ های HTTP پیش نیازها: شما باید PHP را بدانید، از جمله اصول کلاس ها و اشیاء، و نحوه کار با پایگاه داده را بدانید. دستورات برای استفاده داده خواهد شد در حالت ایده آل یک وب سرور با PHP و Composer نصب شده است، اما یک مرور مختصر از نصب آنها پوشش داده خواهد شد.

یک API راهی برای تعامل یک برنامه با برنامه دیگر است. با استفاده از API های شخص ثالث از کد خود، می توانید از قابلیت های توسعه یافته در جاهای دیگر استفاده کنید. با ایجاد یک API برای دسترسی به داده‌های خود، سایر برنامه‌ها می‌توانند به روشی ایمن و آسان از خدمات شما استفاده کنند.

در این دوره جامع نحوه استفاده و ایجاد API های امن و مقیاس پذیر در PHP را بیاموزید.

  • درک نحوه عملکرد APIها

  • با نحوه استفاده از API از PHP

    آشنا شوید
  • با نحوه عملکرد درخواست‌ها و پاسخ‌های HTTP آشنا شوید

  • آگاه باشید که REST و RESTful API چیست

  • یک API RESTful از ابتدا با استفاده از PHP و MySQL ساده ایجاد کنید

  • با نحوه عملکرد احراز هویت API آشنا شوید

  • احراز هویت کلید API را به API خود اضافه کنید

  • با نحوه عملکرد JSON Web Tokens (JWT) آشنا شوید

  • احراز هویت رمز دسترسی JWT را به API خود اضافه کنید

مهارت‌های ضروری برای استفاده و توسعه API با PHP.

مگر اینکه همه اجزای برنامه خود را از ابتدا ایجاد کنید، کد شما باید با خدمات خارجی تعامل داشته باشد - به عنوان مثال یک دروازه پرداخت یا داده های ارز. برای استفاده از چنین خدماتی، باید APIهای آنها را مصرف کنید. در این دوره آموزشی یاد خواهید گرفت که چگونه این کار را از طریق PHP انجام دهید، و همچنین چگونه یک API ایجاد کنید تا برنامه های خارجی بتوانند با برنامه شما تعامل داشته باشند.

محتوا و نمای کلی

این دوره برای توسعه دهندگان PHP طراحی شده است که می خواهند به طور عمیق نحوه استفاده از API ها را از روی کد خود بیاموزند. من این دوره را طوری طراحی کردم که برای توسعه دهندگان PHP که هیچ تجربه قبلی در استفاده از API ها ندارند و می خواهند API های کامل و ایمن را سریع و آسان توسعه دهند، به راحتی قابل درک باشد. یادگیری تکنیک های این دوره شما را قادر می سازد API هایی ایجاد کنید که ایمن، قوی و مطابق با استانداردهای صنعت باشند.

  • برای همه توسعه دهندگان PHP مناسب است، با یادگیری اصول اولیه نحوه عملکرد API ها شروع می کنید.

  • شما تکنیک‌های مختلفی را برای مصرف API از PHP به همراه مزایا و معایب آن‌ها یاد خواهید گرفت.

  • ما یک API کامل از ابتدا خواهیم ساخت که هر مفهوم در هر مرحله با جزئیات توضیح داده شده است.

  • می‌آموزید که REST و RESTful API چیست، چرا از آنها استفاده می‌کنیم و چگونه API خود را RESTful کنیم.

  • در طول دوره، ما کدی ایجاد خواهیم کرد که می‌توانید در همه پروژه‌های خود دوباره از آن استفاده کنید.

  • همه کد منبع توسعه‌یافته در سخنرانی‌ها برای دانلود در دسترس است.

  • ما همیشه به استانداردهای صنعت و بهترین شیوه‌ها پایبند هستیم.

  • هر بخش دارای سخنرانی‌های کوتاه و مستقلی است که در صورت نیاز می‌توانید برای تقویت مفاهیم خاص بازگردید.

وقتی دوره را کامل کردید، می‌توانید از APIها در برنامه‌های PHP خود برای استفاده از مؤلفه‌ها و خدمات شخص ثالث استفاده کنید. همچنین می‌توانید با استفاده از تکنیک‌های احراز هویت مختلف بسته به نوع API که می‌خواهید ایجاد کنید، API خود را ایجاد کنید.

با تمام کدهای نشان داده شده در سخنرانی‌ها تکمیل کنید، می‌توانید در کنار مربی کار کنید و پس از پایان دوره، گواهی پایان دوره قابل تأیید دریافت خواهید کرد.

همچنین، همیشه در طول دوره به مدرس بخش Q A دسترسی دارید تا در مورد هر موضوع مرتبط با دوره کمک بخواهید.

اکنون ثبت نام کنید و استاد API در PHP شوید!


سرفصل ها و درس ها

مقدمه: نحوه استفاده از دوره و نصب نرم افزار Introduction: how to use the course and software installation

  • مقدمه و خوش آمد گویی: چگونه می توان بیشترین بهره را از دوره برد Introduction and welcome: how to get the most out of the course

  • Composer را نصب کنید: بسته های شخص ثالث و فایل های کلاس بارگذاری خودکار را مدیریت کنید Install Composer: manage third-party packages and autoload class files

مقدمه: نحوه استفاده از دوره و نصب نرم افزار Introduction: how to use the course and software installation

  • مقدمه و خوش آمد گویی: چگونه می توان بیشترین بهره را از دوره برد Introduction and welcome: how to get the most out of the course

  • بسته ای را با وب سرور، PHP، سرور پایگاه داده و phpMyAdmin نصب کنید Install a package with a web server, PHP, a database server and phpMyAdmin

  • بسته ای را با وب سرور، PHP، سرور پایگاه داده و phpMyAdmin نصب کنید Install a package with a web server, PHP, a database server and phpMyAdmin

  • Composer را نصب کنید: بسته های شخص ثالث و فایل های کلاس بارگذاری خودکار را مدیریت کنید Install Composer: manage third-party packages and autoload class files

اصول API: API ها چیست و چگونه از آنها استفاده کنیم API basics: what APIs are and how to use them

  • API چیست؟ What is an API?

  • برقراری تماس API: دسترسی به یک API از PHP Make an API call: access an API from PHP

  • از داده های API در یک برنامه وب استفاده کنید Use API data in a web application

اصول API: API ها چیست و چگونه از آنها استفاده کنیم API basics: what APIs are and how to use them

  • API چیست؟ What is an API?

  • برقراری تماس API: دسترسی به یک API از PHP Make an API call: access an API from PHP

  • رمزگشایی نتایج API: خواندن JSON در PHP Decode API results: reading JSON in PHP

  • رمزگشایی نتایج API: خواندن JSON در PHP Decode API results: reading JSON in PHP

  • از داده های API در یک برنامه وب استفاده کنید Use API data in a web application

  • اصول API API basics

  • اصول API API basics

اصول HTTP: درخواست ها، پاسخ ها و استفاده از cURL HTTP basics: requests, responses and using cURL

  • برای درخواست API به جای file_get_contents از cURL استفاده کنید Use cURL instead of file_get_contents to make an API request

  • هدرهای درخواست: داده های متا را در مورد درخواست اضافه کنید Request headers: add meta data about the request

  • همه سرصفحه‌های پاسخ فردی را در یک آرایه دریافت کنید Get all individual response headers in an array

  • از یک API استفاده کنید که به یک هدر درخواست خاص نیاز دارد Use an API that requires a specific request header

  • روش درخواست: روش را تغییر دهید تا نتیجه متفاوتی با همان URL بگیرید Request method: change the method to get a different result with the same URL

اصول HTTP: درخواست ها، پاسخ ها و استفاده از cURL HTTP basics: requests, responses and using cURL

  • برای درخواست API به جای file_get_contents از cURL استفاده کنید Use cURL instead of file_get_contents to make an API request

  • کدهای پاسخ: کد وضعیت HTTP را دریافت کنید Response codes: get the HTTP status code

  • کدهای پاسخ: کد وضعیت HTTP را دریافت کنید Response codes: get the HTTP status code

  • هدرهای درخواست: داده های متا را در مورد درخواست اضافه کنید Request headers: add meta data about the request

  • سرصفحه های پاسخ: داده های متا را در مورد پاسخ بخوانید Response headers: read meta data about the response

  • سرصفحه های پاسخ: داده های متا را در مورد پاسخ بخوانید Response headers: read meta data about the response

  • همه سرصفحه‌های پاسخ فردی را در یک آرایه دریافت کنید Get all individual response headers in an array

  • از یک API استفاده کنید که به یک هدر درخواست خاص نیاز دارد Use an API that requires a specific request header

  • روش درخواست: روش را تغییر دهید تا نتیجه متفاوتی با همان URL بگیرید Request method: change the method to get a different result with the same URL

  • بدنه درخواست: یک بار برای ارسال داده ها به همراه درخواست اضافه کنید Request body: add a payload to send data along with the request

  • بدنه درخواست: یک بار برای ارسال داده ها به همراه درخواست اضافه کنید Request body: add a payload to send data along with the request

  • اصول HTTP HTTP fundamentals

  • اصول HTTP HTTP fundamentals

REST و RESTful API: استفاده از آنها از PHP REST and RESTful APIs: using them from PHP

REST و RESTful API: استفاده از آنها از PHP REST and RESTful APIs: using them from PHP

  • REST و RESTful API: آنها چیست؟ REST and RESTful APIs: what are they?

  • REST و RESTful API: آنها چیست؟ REST and RESTful APIs: what are they?

  • با cURL به یک API RESTful در PHP دسترسی پیدا کنید Access a RESTful API in PHP with cURL

  • با cURL به یک API RESTful در PHP دسترسی پیدا کنید Access a RESTful API in PHP with cURL

  • از سرویس گیرنده HTTP Guzzle برای کدهای API شی گرا استفاده کنید Use the Guzzle HTTP client for object-oriented API code

  • از سرویس گیرنده HTTP Guzzle برای کدهای API شی گرا استفاده کنید Use the Guzzle HTTP client for object-oriented API code

  • از یک SDK استفاده کنید: Stripe API را با SDK آن مقایسه کنید Use an SDK: compare the Stripe API to its SDK

  • از یک SDK استفاده کنید: Stripe API را با SDK آن مقایسه کنید Use an SDK: compare the Stripe API to its SDK

یک API RESTful ایجاد کنید: یک چارچوب برای ارائه API بسازید Create a RESTful API: build a framework for serving the API

  • شروع به نوشتن API کنید: بازنویسی URL را فعال کنید Start writing the API: enable URL rewriting

  • کنترلر جلو: منبع، شناسه و روش درخواست را دریافت کنید The front controller: get the resource, ID and the request method

  • از یک کلاینت برای توسعه API استفاده کنید: cURL، Postman یا HTTPie Use a client for API development: cURL, Postman or HTTPie

  • برای تصمیم گیری در مورد پاسخ، یک کلاس کنترلر اضافه کنید Add a controller class to decide the response

  • اشکال زدایی را آسان تر کنید: اعلان های نوع را اضافه کنید و بررسی دقیق نوع را فعال کنید Make debugging easier: add type declarations and enable strict type checking

  • همیشه JSON را برگردانید: یک کنترل کننده استثنای عمومی و هدر JSON Content-Type اضافه کنید Always return JSON: add a generic exception handler and JSON Content-Type header

یک API RESTful ایجاد کنید: یک چارچوب برای ارائه API بسازید Create a RESTful API: build a framework for serving the API

  • شروع به نوشتن API کنید: بازنویسی URL را فعال کنید Start writing the API: enable URL rewriting

  • کنترلر جلو: منبع، شناسه و روش درخواست را دریافت کنید The front controller: get the resource, ID and the request method

  • از یک کلاینت برای توسعه API استفاده کنید: cURL، Postman یا HTTPie Use a client for API development: cURL, Postman or HTTPie

  • کد وضعیت HTTP را تنظیم کنید: بهترین روش ها Set the HTTP status code: best practices

  • کد وضعیت HTTP را تنظیم کنید: بهترین روش ها Set the HTTP status code: best practices

  • برای تصمیم گیری در مورد پاسخ، یک کلاس کنترلر اضافه کنید Add a controller class to decide the response

  • از بارگذاری خودکار Composer برای بارگیری خودکار کلاس ها استفاده کنید Use Composer's autoloader to load classes automatically

  • از بارگذاری خودکار Composer برای بارگیری خودکار کلاس ها استفاده کنید Use Composer's autoloader to load classes automatically

  • اشکال زدایی را آسان تر کنید: اعلان های نوع را اضافه کنید و بررسی دقیق نوع را فعال کنید Make debugging easier: add type declarations and enable strict type checking

  • همیشه JSON را برگردانید: یک کنترل کننده استثنای عمومی و هدر JSON Content-Type اضافه کنید Always return JSON: add a generic exception handler and JSON Content-Type header

  • یک کد وضعیت 405 و Allow header برای روش‌های درخواست نامعتبر ارسال کنید Send a 405 status code and Allow header for invalid request methods

  • یک کد وضعیت 405 و Allow header برای روش‌های درخواست نامعتبر ارسال کنید Send a 405 status code and Allow header for invalid request methods

ایجاد یک RESTful API: ایجاد یک پایگاه داده و بازیابی داده ها از آن Create a RESTful API: create a database and retrieve data from it

  • یک پایگاه داده جدید و یک کاربر پایگاه داده برای دسترسی به آن ایجاد کنید Create a new database and a database user to access it

  • اتصال به پایگاه داده از طریق PHP: یک کلاس پایگاه داده اضافه کنید Connect to the database from PHP: add a Database class

  • یک کلاس دروازه داده جدول برای جدول منابع ایجاد کنید Create a table data gateway class for the resource table

  • نمایش لیستی از تمام رکوردها Show a list of all records

  • PDO را برای جلوگیری از تبدیل مقادیر عددی به رشته پیکربندی کنید Configure PDO to prevent numeric values from being converted to strings

  • بولین های پایگاه داده را در JSON به لفظ بولی تبدیل کنید Convert database booleans to boolean literals in the JSON

  • نمایش رکورد فردی Show an individual record

  • اگر منبع با شناسه مشخص شده یافت نشد با 404 پاسخ دهید Respond with 404 if the resource with the specified ID is not found

ایجاد یک RESTful API: ایجاد یک پایگاه داده و بازیابی داده ها از آن Create a RESTful API: create a database and retrieve data from it

  • یک پایگاه داده جدید و یک کاربر پایگاه داده برای دسترسی به آن ایجاد کنید Create a new database and a database user to access it

  • یک جدول برای ذخیره داده های منابع ایجاد کنید Create a table to store resource data

  • یک جدول برای ذخیره داده های منابع ایجاد کنید Create a table to store resource data

  • اتصال به پایگاه داده از طریق PHP: یک کلاس پایگاه داده اضافه کنید Connect to the database from PHP: add a Database class

  • داده های اتصال پایگاه داده را به یک فایل .env جداگانه منتقل کنید Move the database connection data to a separate .env file

  • داده های اتصال پایگاه داده را به یک فایل .env جداگانه منتقل کنید Move the database connection data to a separate .env file

  • یک کلاس دروازه داده جدول برای جدول منابع ایجاد کنید Create a table data gateway class for the resource table

  • نمایش لیستی از تمام رکوردها Show a list of all records

  • PDO را برای جلوگیری از تبدیل مقادیر عددی به رشته پیکربندی کنید Configure PDO to prevent numeric values from being converted to strings

  • بولین های پایگاه داده را در JSON به لفظ بولی تبدیل کنید Convert database booleans to boolean literals in the JSON

  • نمایش رکورد فردی Show an individual record

  • اگر منبع با شناسه مشخص شده یافت نشد با 404 پاسخ دهید Respond with 404 if the resource with the specified ID is not found

ایجاد یک API RESTful: ایجاد، به روز رسانی و حذف منابع فردی Create a RESTful API: create, update and delete individual resources

  • داده های درخواست را به صورت JSON دریافت کنید Get the data from the request as JSON

  • یک رکورد را در پایگاه داده وارد کنید و با کد وضعیت 201 پاسخ دهید Insert a record into the database and respond with a 201 status code

  • داده ها را اعتبارسنجی کنید و در صورت نامعتبر بودن، با کد وضعیت 422 پاسخ دهید Validate the data and respond with a 422 status code if invalid

  • هنگام به‌روزرسانی یک رکورد موجود، داده‌ها را مشروط تأیید کنید Conditionally validate the data when updating an existing record

ایجاد یک API RESTful: ایجاد، به روز رسانی و حذف منابع فردی Create a RESTful API: create, update and delete individual resources

  • داده های درخواست را به صورت JSON دریافت کنید Get the data from the request as JSON

  • یک رکورد را در پایگاه داده وارد کنید و با کد وضعیت 201 پاسخ دهید Insert a record into the database and respond with a 201 status code

  • یک کنترل کننده خطای عمومی را به عنوان JSON به هشدارهای خروجی اضافه کنید Add a generic error handler to output warnings as JSON

  • یک کنترل کننده خطای عمومی را به عنوان JSON به هشدارهای خروجی اضافه کنید Add a generic error handler to output warnings as JSON

  • داده ها را اعتبارسنجی کنید و در صورت نامعتبر بودن، با کد وضعیت 422 پاسخ دهید Validate the data and respond with a 422 status code if invalid

  • هنگام به‌روزرسانی یک رکورد موجود، داده‌ها را مشروط تأیید کنید Conditionally validate the data when updating an existing record

  • داده ها را از درخواست به روز رسانی یک رکورد موجود دریافت کنید Get the data from the request for updating an existing record

  • داده ها را از درخواست به روز رسانی یک رکورد موجود دریافت کنید Get the data from the request for updating an existing record

  • رکورد موجود در پایگاه داده را به روز کنید و کد وضعیت 200 را برگردانید Update the record in the database and return a 200 status code

  • رکورد موجود در پایگاه داده را به روز کنید و کد وضعیت 200 را برگردانید Update the record in the database and return a 200 status code

  • رکورد موجود در پایگاه داده را حذف کنید و کد وضعیت 200 را برگردانید Delete the record in the database and return a 200 status code

  • رکورد موجود در پایگاه داده را حذف کنید و کد وضعیت 200 را برگردانید Delete the record in the database and return a 200 status code

احراز هویت کلید API API key authentication

  • بررسی کنید که کلید API در درخواست وجود دارد و اگر نه، 400 را برگردانید Check the API key is present in the request and return 400 if not

  • یک کلاس دروازه داده جدول برای جدول کاربر ایجاد کنید Create a table data gateway class for the user table

  • کلید API را احراز هویت کنید و در صورت نامعتبر بودن، کد وضعیت 401 را برگردانید Authenticate the API key and return a 401 status code if invalid

  • کنترلر جلویی را به یک فایل بوت استرپ و کلاس Auth تبدیل کنید Refactor the front controller to a bootstrap file and Auth class

  • یک رابطه کلید خارجی برای پیوند دادن سوابق کار به سوابق کاربر اضافه کنید Add a foreign key relationship to link task records to user records

  • بقیه نقاط پایانی کار را به وظایف کاربر تأیید شده محدود کنید Restrict the rest of the task endpoints to the authenticated user's tasks

احراز هویت کلید API API key authentication

  • یک جدول برای ذخیره اطلاعات حساب کاربری ایجاد کنید Create a table to store user account data

  • یک جدول برای ذخیره اطلاعات حساب کاربری ایجاد کنید Create a table to store user account data

  • یک صفحه ثبت نام اضافه کنید تا یک رکورد کاربر جدید وارد کنید و یک کلید API جدید ایجاد کنید Add a register page to insert a new user record and generate a new API key

  • یک صفحه ثبت نام اضافه کنید تا یک رکورد کاربر جدید وارد کنید و یک کلید API جدید ایجاد کنید Add a register page to insert a new user record and generate a new API key

  • کلید API را با درخواست ارسال کنید: رشته پرس و جو یا هدر درخواست Send the API key with the request: query string or request header

  • کلید API را با درخواست ارسال کنید: رشته پرس و جو یا هدر درخواست Send the API key with the request: query string or request header

  • بررسی کنید که کلید API در درخواست وجود دارد و اگر نه، 400 را برگردانید Check the API key is present in the request and return 400 if not

  • یک کلاس دروازه داده جدول برای جدول کاربر ایجاد کنید Create a table data gateway class for the user table

  • کلید API را احراز هویت کنید و در صورت نامعتبر بودن، کد وضعیت 401 را برگردانید Authenticate the API key and return a 401 status code if invalid

  • کنترلر جلویی را به یک فایل بوت استرپ و کلاس Auth تبدیل کنید Refactor the front controller to a bootstrap file and Auth class

  • یک رابطه کلید خارجی برای پیوند دادن سوابق کار به سوابق کاربر اضافه کنید Add a foreign key relationship to link task records to user records

  • هنگام احراز هویت، شناسه کاربر احراز هویت شده را بازیابی کنید Retrieve the ID of the authenticated user when authenticating

  • هنگام احراز هویت، شناسه کاربر احراز هویت شده را بازیابی کنید Retrieve the ID of the authenticated user when authenticating

  • نقطه پایانی فهرست وظایف را محدود کنید تا فقط وظایف کاربر تأیید شده را نشان دهد Restrict the tasks index endpoint to only show the authenticated user's tasks

  • نقطه پایانی فهرست وظایف را محدود کنید تا فقط وظایف کاربر تأیید شده را نشان دهد Restrict the tasks index endpoint to only show the authenticated user's tasks

  • بقیه نقاط پایانی کار را به وظایف کاربر تأیید شده محدود کنید Restrict the rest of the task endpoints to the authenticated user's tasks

  • برای جلوگیری از اتصالات متعدد در یک درخواست، اتصال پایگاه داده را کش کنید Cache the database connection to avoid multiple connections in the same request

  • برای جلوگیری از اتصالات متعدد در یک درخواست، اتصال پایگاه داده را کش کنید Cache the database connection to avoid multiple connections in the same request

مقدمه ای بر احراز هویت با استفاده از نشانه های دسترسی An introduction to authentication using access tokens

  • نام کاربری و رمز عبور را بررسی کنید و در صورت نامعتبر بودن کد وضعیت 401 را برگردانید Check the username and password and return a 401 status code if invalid

  • رمز دسترسی را اعتبارسنجی کنید و محتوای آن را رمزگشایی کنید Validate the access token and decode its contents

  • داده های کاربر تأیید شده را از نشانه دسترسی دریافت کنید Get the authenticated user data from the access token

مقدمه ای بر احراز هویت با استفاده از نشانه های دسترسی An introduction to authentication using access tokens

  • مقدمه ای بر احراز هویت با استفاده از نشانه های دسترسی An introduction to authentication using access tokens

  • مقدمه ای بر احراز هویت با استفاده از نشانه های دسترسی An introduction to authentication using access tokens

  • اسکریپت ورود به سیستم را ایجاد کنید و اگر نام کاربری و رمز عبور موجود نیست، 400 را برگردانید Create the login script and return 400 if the username and password are missing

  • اسکریپت ورود به سیستم را ایجاد کنید و اگر نام کاربری و رمز عبور موجود نیست، 400 را برگردانید Create the login script and return 400 if the username and password are missing

  • رکورد کاربر را بر اساس نام کاربری در درخواست انتخاب کنید Select the user record based on the username in the request

  • رکورد کاربر را بر اساس نام کاربری در درخواست انتخاب کنید Select the user record based on the username in the request

  • نام کاربری و رمز عبور را بررسی کنید و در صورت نامعتبر بودن کد وضعیت 401 را برگردانید Check the username and password and return a 401 status code if invalid

  • یک رمز دسترسی رمزگذاری شده حاوی جزئیات کاربر ایجاد کنید Generate an encoded access token containing the user details

  • یک رمز دسترسی رمزگذاری شده حاوی جزئیات کاربر ایجاد کنید Generate an encoded access token containing the user details

  • رمز دسترسی را به نقاط پایانی Task API در هدر مجوز ارسال کنید Pass the access token to the task API endpoints in the authorization header

  • رمز دسترسی را به نقاط پایانی Task API در هدر مجوز ارسال کنید Pass the access token to the task API endpoints in the authorization header

  • رمز دسترسی را اعتبارسنجی کنید و محتوای آن را رمزگشایی کنید Validate the access token and decode its contents

  • داده های کاربر تأیید شده را از نشانه دسترسی دریافت کنید Get the authenticated user data from the access token

احراز هویت با استفاده از JSON Web Tokens (JWT) Authentication using JSON Web Tokens (JWTs)

  • مقدمه ای بر توکن های وب JSON (JWT) An introduction to JSON web tokens (JWTs)

  • روشی برای رمزگشایی محموله از JWT اضافه کنید Add a method to decode the payload from the JWT

  • کلید مخفی مورد استفاده برای هش کردن را به عنوان یک وابستگی عبور دهید Pass in the secret key used for hashing as a dependency

  • داده های حساس را در JWT ذخیره نکنید Don't store sensitive data in the JWT

احراز هویت با استفاده از JSON Web Tokens (JWT) Authentication using JSON Web Tokens (JWTs)

  • مقدمه ای بر توکن های وب JSON (JWT) An introduction to JSON web tokens (JWTs)

  • یک کلاس برای رمزگذاری یک بار در JWT ایجاد کنید Create a class to encode a payload in a JWT

  • یک کلاس برای رمزگذاری یک بار در JWT ایجاد کنید Create a class to encode a payload in a JWT

  • یک نشانه دسترسی JWT در نقطه پایانی ورود به سیستم حاوی ادعاهای JWT ایجاد کنید Generate a JWT access token in the login endpoint containing JWT claims

  • یک نشانه دسترسی JWT در نقطه پایانی ورود به سیستم حاوی ادعاهای JWT ایجاد کنید Generate a JWT access token in the login endpoint containing JWT claims

  • روشی برای رمزگشایی محموله از JWT اضافه کنید Add a method to decode the payload from the JWT

  • کلید مخفی مورد استفاده برای هش کردن را به عنوان یک وابستگی عبور دهید Pass in the secret key used for hashing as a dependency

  • با استفاده از JWT نقاط پایانی کار را احراز هویت کنید Authenticate the task endpoints using the JWT

  • با استفاده از JWT نقاط پایانی کار را احراز هویت کنید Authenticate the task endpoints using the JWT

  • اگر امضا نامعتبر است از یک کلاس استثنای سفارشی برای برگرداندن 401 استفاده کنید Use a custom exception class to return 401 if the signature is invalid

  • اگر امضا نامعتبر است از یک کلاس استثنای سفارشی برای برگرداندن 401 استفاده کنید Use a custom exception class to return 401 if the signature is invalid

  • داده های حساس را در JWT ذخیره نکنید Don't store sensitive data in the JWT

در حال انقضا و به روز رسانی نشانه های دسترسی Expiring and refreshing access tokens

  • چرا توکن های دسترسی باید منقضی شوند و چگونه آنها را به روشی کاربرپسند به روز کنیم Why access tokens need to expire and how to refresh them in a user-friendly way

  • یک نقطه پایانی تازه‌سازی اضافه کنید و نشانه تازه‌سازی را در درخواست تأیید کنید Add a refresh endpoint and validate the refresh token in the request

  • با استفاده از پایگاه داده، کاربر را در نشانه رفرش تأیید کنید Validate the user in the refresh token using the database

  • هنگامی که در نقطه پایانی ورود صادر می شود، نشانه رفرش را در لیست سفید ذخیره کنید Store the refresh token in the whitelist when issued in the login endpoint

  • هنگامی که در نقطه پایانی تازه‌سازی صادر می‌شود، توکن تازه‌سازی را در لیست سفید جایگزین کنید Replace the refresh token in the whitelist when issued in the refresh endpoint

  • یک اسکریپت اضافه کنید تا نشانه‌های تازه‌سازی منقضی شده را از لیست سفید پاک کنید Add a script to clear out expired refresh tokens from the whitelist

در حال انقضا و به روز رسانی نشانه های دسترسی Expiring and refreshing access tokens

  • چرا توکن های دسترسی باید منقضی شوند و چگونه آنها را به روشی کاربرپسند به روز کنیم Why access tokens need to expire and how to refresh them in a user-friendly way

  • هنگام ورود به سیستم، یک ادعای انقضا به بار رمز دسترسی اضافه کنید Add an expiry claim to the access token payload when logging in

  • هنگام ورود به سیستم، یک ادعای انقضا به بار رمز دسترسی اضافه کنید Add an expiry claim to the access token payload when logging in

  • یک استثنای سفارشی برای عدم پذیرش JWT در صورتی که منقضی شده است پرتاب کنید Throw a custom exception to not accept the JWT if it has expired

  • یک استثنای سفارشی برای عدم پذیرش JWT در صورتی که منقضی شده است پرتاب کنید Throw a custom exception to not accept the JWT if it has expired

  • هنگام ورود به سیستم، علاوه بر نشانه دسترسی، یک نشانه به‌روزرسانی صادر کنید Issue a refresh token in addition to the access token when logging in

  • هنگام ورود به سیستم، علاوه بر نشانه دسترسی، یک نشانه به‌روزرسانی صادر کنید Issue a refresh token in addition to the access token when logging in

  • یک نقطه پایانی تازه‌سازی اضافه کنید و نشانه تازه‌سازی را در درخواست تأیید کنید Add a refresh endpoint and validate the refresh token in the request

  • با استفاده از پایگاه داده، کاربر را در نشانه رفرش تأیید کنید Validate the user in the refresh token using the database

  • برای کاربر احراز هویت شده یک نشانه دسترسی جدید صادر کنید و توکن رفرش کنید Issue a new access token and refresh token to the authenticated user

  • برای کاربر احراز هویت شده یک نشانه دسترسی جدید صادر کنید و توکن رفرش کنید Issue a new access token and refresh token to the authenticated user

  • یک جدول برای ذخیره یک لیست سفید نشانه تازه سازی ایجاد کنید Create a table to store a refresh token whitelist

  • یک جدول برای ذخیره یک لیست سفید نشانه تازه سازی ایجاد کنید Create a table to store a refresh token whitelist

  • هنگامی که در نقطه پایانی ورود صادر می شود، نشانه رفرش را در لیست سفید ذخیره کنید Store the refresh token in the whitelist when issued in the login endpoint

  • هنگامی که در نقطه پایانی تازه‌سازی صادر می‌شود، توکن تازه‌سازی را در لیست سفید جایگزین کنید Replace the refresh token in the whitelist when issued in the refresh endpoint

  • تأیید کنید که نشانه تازه‌سازی در لیست سفید قرار دارد و در غیر این صورت یک پاسخ 400 برگردانید Validate the refresh token is on the whitelist and return a 400 response if not

  • تأیید کنید که نشانه تازه‌سازی در لیست سفید قرار دارد و در غیر این صورت یک پاسخ 400 برگردانید Validate the refresh token is on the whitelist and return a 400 response if not

  • یک نقطه پایان خروج اضافه کنید تا نشانه تازه سازی فعال را از لیست سفید حذف کنید Add a logout endpoint to remove the an active refresh token from the whitelist

  • یک نقطه پایان خروج اضافه کنید تا نشانه تازه سازی فعال را از لیست سفید حذف کنید Add a logout endpoint to remove the an active refresh token from the whitelist

  • یک اسکریپت اضافه کنید تا نشانه‌های تازه‌سازی منقضی شده را از لیست سفید پاک کنید Add a script to clear out expired refresh tokens from the whitelist

  • ببینید چگونه یک برنامه تک صفحه ای با استفاده از نشانه های دسترسی با API تعامل می کند See how a single-page application interacts with the API using access tokens

  • ببینید چگونه یک برنامه تک صفحه ای با استفاده از نشانه های دسترسی با API تعامل می کند See how a single-page application interacts with the API using access tokens

نتیجه Conclusion

نتیجه Conclusion

  • نتیجه گیری و از اینجا به کجا باید رفت Conclusion & where to go from here

  • نتیجه گیری و از اینجا به کجا باید رفت Conclusion & where to go from here

نمایش نظرات

آموزش API ها در PHP: از پایه تا پیشرفته
جزییات دوره
5 hours
89
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
3,597
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Dave Hollingworth Dave Hollingworth

مربی فناوری اطلاعات