مدیریت احراز هویت با استفاده از Private API
در این مطلب قصد داریم در مورد مدیریت احراز هویت با Private API صحبت کنیم
با توجه به توضیحات جامع در مورد api در این سایت حالا باید درک بهتری از API داشته باشید، اینکه چطور قسمتهای مختلف در کنار هم کار میکنند. در ادامه آموزشی پیچیدهتر داریم که از احراز هویت استفاده میکند. از این API استفاده میکنیم.
می توانید Postman را ببندید، اما یادتان باشد که برای شروع به کار با API، ابزار بسیار مناسبی است.
هدف این است که با استفاده از ابزار CLI، کدهای تخفیف یکبار مصرف برای خریداران بسازیم. API این کدهای تخفیف را میسازد و همهی این کارها در کامپیوتر خودتان انجام میشوند.
پوشهای جدید برای این پروژه بسازید. از npm init در پوشه استفاده کنید و برنامهی ویرایشگر متن خود را باز کنید. حالا یک فایل index.js بسازید و فایل package.json را باز کنید. در بالاترین شئ آن، کد زیر را وارد کنید:
"bin": { "discounts": "./index.js" }
به پکیج Commander برای پارس کردن دادههای کلاینت نیاز داریم. npm install –save commander را در پوشهی جاری اجرا کنید. از کتابخانهای کوچک برای ساخت ID استفاده میکنیم. با کد npm install –save shortid میتوانید آن را نصب کنید. با استفاده از کد npm install –save request کتابخانهی دیگری را هم برای مدیریت سادهتر فراخوانیهای HTTP نصب میکنیم. به فایل index.js بروید و کد زیر را در آن پیست کنید:
#!/usr/bin/env node var program = require('commander'); var shortid = require('shortid'); var request = require('request'); function CreateDiscount(){ var discount = { name: '20% OFF', trigger: 'Code', type: 'Rate', rate: 20, maxNumberOfUsages: 1, code: shortid.generate() } request({ url: "http://app.snipcart.com/api/discounts", auth: { 'user': 'YOUR_API_KEY' }, method: "POST", json: true, body: discount }, function (error, response, body){ console.log(body.code); }); } program .arguments('<number>') .action(function(number) { for(var i = parseFloat(number); i > 0; i--){ CreateDiscount(); } }) .parse(process.argv);
می خواهیم فقط روی تابع request متمرکز شویم. این تابع جایی است که در آن API را فراخوانی میکنیم. میبینید که method: “POST” را به متد میدهیم. دلیل آن این است که میخواهیم به این API داده بفرستیم. با مشخص کردن این متد، API میتواند این عمل را به خوبی Map کند و بدنهی درخواست را، که شامل دادههای تخفیف است، بخواند.
یکی از قابلیتهای جذاب API احراز هویت است، که هنوز از آن استفاده نکردهایم. در مثال قبلی Public API داشتیم که نیازی به احراز هویت نداشت. اما در عمل، بیشتر APIهایی که با آنها سروکار دارید، احراز هویت میخواهند، مثلاً APIهای Twitter یا Google Maps. این “الگویی” استاندارد در دنیای APIهاست.
مفهوم احراز هویت ممکن است کمی دردساز باشد.
در این مثال، API Key را مستقیماً در درخواست ارسال میکنیم و سرور ما را میشناسد. بعد از آن میتواند درخواست را در محدودهی اکانتمان مدیریت کند.
اگر میخواهید اپلیکیشن را امتحان کنید، npm install -g را در پوشهی نصب اجرا کنید. برای ساخت xتا کد تخفیف، کد discounts x را اجرا کنید. اگر میخواستیم خودمان در UI، ۲۰۰ کد تخفیف بسازیم، بسیار وقتگیر میشد. اما میبینید که با API این کار در چند دقیقه انجام میشود. علاوه بر آن میتوانید از کد مجدداً استفاده کنید. اگر یک ماه بعد لازم بود دوباره چنین کاری را انجام دهید، کدتان آماده است.