کیتەکانی سێرڤەر
ئەم پەڕەیە لە ئینگلیزییەوە وەرگێڕدراوە. ئەگەر هەردووکیان جیاواز بوون، پەڕە ئینگلیزییەکە ڕاستە. پەڕە ئینگلیزییەکە بخوێنەوە
سێرڤەرەکەت ئەو نیوەیەی جێگیرکردنە کە نهێنییەکان هەڵدەگرێت. کیتی سێرڤەر کتێبخانەی Lingara ی زمانەکەت دەپێچێتەوە، بۆیە بە کلاینتی OAuth ـەکەت دەچێتە ژوورەوە و تۆکن بۆ یاریزانەکانت دروست دەکات، ئەو وێبهووکانە دەپشکنێت کە Lingara بۆت دەنێرێت، و یاریزانەکان دەسڕێتەوە کاتێک دەڕۆن. نموونەکانی خوارەوە لە هەموو زمانێکدا هەمان هەنگاوەکان دەگرنەبەر.
کلاینتێکی پێوانەکراو دروست بکە
لە کۆنسۆڵدا کلاینتێکی OAuth دروست بکە و بیخەرە سەر پلانی پێوانەکراو. embed:mint ی پێبدە، ئەو سکۆپەی کە تۆکن دروست دەکات و یاریزانەکان دەسڕێتەوە. کلاینتێک لەسەر هەر پلانێکی تر ئەو سکۆپەی پێنادرێت. هەروەها هەموو ئەو سکۆپانەی پێبدە کە دەتەوێت تۆکنی یاریزانەکانت هەڵیانبگرن، چونکە تۆکنێک تەنها دەتوانێت ئەو سکۆپانە هەڵبگرێت کە کلاینتەکەت هەیەتی. embed:mint خۆی هەرگیز نادرێت بە یاریزانێک.
ناسنامە و نهێنی کلاینتەکە لە ژینگەی سێرڤەرەکەتدا بهێڵەرەوە، هەرگیز لە یارییەک یان پەڕەیەکدا نا.
origin ـە وێبییەکانت تۆمار بکە
ویجێتێکی ماڵپەڕ پێویستی بە تۆکنێکە کە بە origin ـی پەڕەکەوە بەسترابێت. لە کۆنسۆڵدا، لە ڕێکخستنەکانی کلاینتەکەتدا هەموو ئەو origin انە لیست بکە کە ویجێتەکەت لەسەریان کار دەکات، وەک https://www.example.com. دەتوانیت بەلایەنی زۆرەوە 10 لیست بکەیت. origin ێک بریتییە لە scheme، host و port ێکی ئارەزوومەندانە، بێ ڕێڕەو. بۆ گەشەپێدان، origin ێکی loopback لەسەر port ێکی خۆت ڕێگەپێدراوە، وەک http://localhost:5173. تۆکنێک تەنها لەو origin ـە ڕێک و دروستەوە پەسەند دەکرێت کە بۆی دروستکراوە، بۆیە تۆکنێک کە بۆ هەر origin ێکی تر دروستکرابێت لەلایەن API ـەوە ڕەت دەکرێتەوە. یارییەک پێویستی بە origin نییە.
تۆکنێک دروست بکە
لە پشت چوونەژوورەوەی خۆتەوە دروستی بکە: ڕێڕەوی تۆکنەکەت سەرەتا دانیشتنی خۆت دەپشکنێت، و تەنها پاشان بۆ ئەو یاریزانە دروستی دەکات. ڕێڕەوەکە بۆ هەر دانیشتنێک سنووری ڕێژە بۆ دابنێ. داواکارییەکی دروستکردن سێ خانە وەردەگرێت:
player_ref: ئاماژەی خۆت بۆ یاریزانەکە، لە 1 تا 128 بایتی UTF-8. Lingara تەنها hash ـەکەی هەڵدەگرێت.
scopes: بەلایەنی زۆرەوە 5، لەوانەی تۆکنی یاریزانێک دەتوانێت هەڵیانبگرێت: events:read، events:write، lesson_plans:read، lesson_plans:write و embed:play. ئەگەر لێی دەربهێنیت، تۆکنەکە هەموو ئەوانەیان هەڵدەگرێت کە کلاینتەکەت هەیەتی.
origin: بۆ ماڵپەڕێک، origin ـی پەڕەکە، کە دەبێت یەکێک بێت لەوانەی تۆمارت کردوون. بۆ یارییەک لێی دەربهێنە.
وەڵامەکە token، expires_at، expires_in (هەمان کاتی بەسەرچوون بە چرکە، بۆ ئامێرێک کە ناتوانیت متمانە بە کاتژمێرەکەی بکەیت)، subject، scopes ـی تۆکنەکە، و account_linked لەخۆ دەگرێت، کە دەڵێت ئایا یاریزانەکە هەژماری Lingara ی خۆی بەستووەتەوە. subject یاریزانەکە بە کلاینتەکەت دەناسێنێت، و هەموو ڕووداوێک دەربارەی ئەو هەڵیدەگرێت.
تۆکنەکە و کاتی بەسەرچوونی ڕێک وەک ئەوەی ڕادەستکردنی کیتەکە دەیاننووسێت بدە بە یاریزانەکە، لە ڕێگەی دانیشتنی خۆتەوە و هەرگیز لە URL دا نا، و وەڵامەکە لەگەڵ Cache-Control: no-store بنێرە. کیتی یاریزان کاتێک تۆکنەکە لە کاتی بەسەرچوونی نزیک دەبێتەوە دووبارە داوا دەکات؛ تۆکنێک هەرگیز نوێ ناکرێتەوە.
وێبهووکێک ئاڕاستەی یاریزانەکەی بکە
Lingara هەموو ئەو وێبهووکانە واژوو دەکات کە بۆت دەنێرێت. جەستەی خاوی داواکارییەکە بدە بە کیتەکە، پێش هەر شیکردنەوەیەکی JSON، چونکە واژووەکە بایتەکانی دادەپۆشێت. کیتەکە واژووەکە دەپشکنێت و بەدوای ئەو یاریزانەدا دەگەڕێت کە subject ـی ڕووداوەکە ناوی دەبات، لە خشتەیەکی خۆتدا، لە تەنیشت یاریزانەکانتەوە، کە هەر subject ێک بە player_ref ـەکەتەوە دەبەستێتەوە. یاریزانێک کە هەژمارێک دەبەستێتەوە خاوەنی دوو subject ـە، بۆیە ستوونی subject بە تاک بهێڵەرەوە و ڕێگە بدە یەک player_ref دوو جار دەربکەوێت.
گەیاندن بەلایەنی کەمەوە یەک جارە: ناسنامەی ئەو ڕووداوەی پێشتر چارەسەرت کردووە تێپەڕێنە. لە ماوەی 10 چرکەدا وەڵام بدەرەوە، و هەر شتێکی خاو بخەرە سەر ڕیزێکی خۆت.
یاریزانێک بسڕەوە
لە ڕێڕەوی سڕینەوەی هەژماری خۆتەوە، یاریزانەکە بە player_ref ـەکەی بسڕەوە. Lingara هەموو ئەو تۆکنانەی یاریزانەکە هەیەتی هەڵدەوەشێنێتەوە و هەموو ئەوەی بۆی هەڵدەگرێت لادەبات. سڕینەوەی یاریزانێکی نەناسراو سەرکەوتوو دەبێت، بۆیە دووبارەکردنەوەی بانگکردنەکە بێ مەترسییە. سڕینەوەی داتای خۆت هەر کاری خۆتە.
یاریزانێک کە هەژماری Lingara ی خۆی دەهێنێت
یاریزانێک کە هەژماری Lingara ی خۆی هەیە دەتوانێت بیبەستێتەوە، بۆ ئەوەی ڕاهێنان و پلانەکانی لەسەر ئەو هەژمارە بژین. هێشتا هیچ کیتێک ئەمە ناپێچێتەوە؛ ئەمە دوو بانگکردنی API ـە لە سێرڤەرەکەتەوە.
سێرڤەرەکەت ڕەوتی authorization-code لەگەڵ هەمان ئەو کلاینتەی تۆکن دروست دەکات بەڕێوە دەبات، بە بەکارهێنانی PKCE: یاریزانەکە لە وێبگەڕەکەیدا دەچێتە ژوورەوە و ڕەزامەندی دەدات، هەرگیز لەناو یارییەکەتدا نا، و سێرڤەرەکەت کۆدەکە بە نهێنییەکەی دەگۆڕێتەوە. لەو ڕەزامەندییەدا داوای embed:play و هەموو ئەو سکۆپانە بکە کە تۆکنیان پێ دروست دەکەیت، و events:read تێدا دابنێ، ئەگەرنا کاتێک یاریزانەکە بەستیەوە هیچ شتێک دەربارەی نابیستیت.
پاشان بانگی linkEmbedPlayer بکە بەو تۆکنە ڕاسپێردراوەی ئەو گۆڕینەوەیە گەڕاندییەوە، هەرگیز بە تۆکنی خودی کلاینتەکەت نا. وەڵامەکەی ئەمانە لەخۆ دەگرێت:
status: linked کاتێک ئەم بانگکردنە بەستنەوەکەی دروست کرد، existing کاتێک پێشتر چالاک بوو؛
subject، subject ـی هەژمارەکە، کە ڕووداوەکانی یاریزانەکە لە ئێستاوە هەڵیدەگرن؛
previous_subject، subject ـی میوانەکە، کە ڕووداوە پێشووەکانی دەیپارێزن؛
linked_at، کاتی دروستکردنی بەستنەوەکە؛
scopes، زۆرترینی ئەوەی تۆکنێک بۆ ئەم یاریزانە ئێستا دەتوانێت هەڵیبگرێت؛
carried، ئەو ڕیزانەی ئەم بانگکردنە گواستییەوە بۆ هەژمارەکە، بەپێی هەر خشتەیەک؛
kept، ئەو ڕیزانەی لای میوانەکە هێشتنییەوە، وەک پلانێک کە هێشتا دەنووسرێت.
دووبارەکردنەوەی بەستنەوەیەک بێ مەترسییە، و دووبارەکردنەوەیەک گواستنەوەی ئەوەی kept ڕایدەگەیەنێت تەواو دەکات. ئەو ڕووداوانەی هەر یەکێک لە دوو subject ـەکە هەڵدەگرن ئاڕاستەی هەمان player_ref بکە. دروستکردنی داهاتووت بۆ یاریزانەکە account_linked بە ڕاست وەڵام دەداتەوە، و تۆ هێشتا پارەی ئەوە دەدەیت کە یاریزانەکە دەیکات.
بۆ کۆتاییهێنان بە بەستنەوەیەک، بانگی unlinkEmbedPlayer بکە بە تۆکنی خودی کلاینتەکەت. هیچ شتێک ناگەڕێتەوە بۆ میوانەکە. فێرخوازێکیش دەتوانێت خۆی کۆتایی بە بەستنەوەکە بهێنێت، بە لابردنی ئەپەکەت لە «ئەپە پەیوەستکراوەکان».