កញ្ចប់ឧបករណ៍ម៉ាស៊ីនមេ
ទំព័រនេះត្រូវបានបកប្រែពីភាសាអង់គ្លេស។ ប្រសិនបើទាំងពីរខុសគ្នា ទំព័រភាសាអង់គ្លេសគឺត្រឹមត្រូវ។ អានទំព័រភាសាអង់គ្លេស
ម៉ាស៊ីនមេរបស់អ្នក គឺជាផ្នែកនៃការបង្កប់ដែលកាន់សម្ងាត់។ កញ្ចប់ឧបករណ៍ម៉ាស៊ីនមេរុំបណ្ណាល័យ Lingara សម្រាប់ភាសារបស់អ្នក ដូច្នេះវាចូលដោយប្រើក្លាយអិន OAuth របស់អ្នក ហើយបង្កើតតូខិនសម្រាប់អ្នកលេងរបស់អ្នក ពិនិត្យ webhook ដែល Lingara ផ្ញើមកអ្នក និងលុបអ្នកលេងនៅពេលពួកគេចាកចេញ។ គំរូខាងក្រោមធ្វើតាមជំហានដូចគ្នានៅក្នុងភាសានីមួយៗ។
បង្កើតក្លាយអិនគិតតាមការប្រើប្រាស់
បង្កើតក្លាយអិន OAuth មួយនៅក្នុងកុងសូល ហើយដាក់វានៅលើគម្រោងគិតតាមការប្រើប្រាស់។ ផ្ដល់ឲ្យវានូវ embed:mint ដែលជាវិសាលភាពសម្រាប់បង្កើតតូខិន និងលុបអ្នកលេង។ ក្លាយអិននៅលើគម្រោងផ្សេងទៀតណាមួយ ត្រូវបានបដិសេធវិសាលភាពនោះ។ ផ្ដល់ឲ្យវាផងដែរនូវវិសាលភាពទាំងអស់ដែលអ្នកចង់ឲ្យតូខិនរបស់អ្នកលេងរបស់អ្នកផ្ទុក ព្រោះតូខិនមួយអាចកាន់បានតែវិសាលភាពដែលក្លាយអិនរបស់អ្នកកាន់ប៉ុណ្ណោះ។ embed:mint ខ្លួនវាផ្ទាល់ មិនដែលត្រូវបានប្រគល់ឲ្យអ្នកលេងទេ។
រក្សា ID និងសម្ងាត់របស់ក្លាយអិននៅក្នុងបរិស្ថាននៃម៉ាស៊ីនមេរបស់អ្នក មិនដែលនៅក្នុងហ្គេម ឬទំព័រវេបឡើយ។
ចុះឈ្មោះប្រភពដើមវេបរបស់អ្នក
វិដជិតគេហទំព័រត្រូវការតូខិនដែលចងភ្ជាប់នឹងប្រភពដើម (origin) របស់ទំព័រ។ នៅក្នុងកុងសូល សូមរាយប្រភពដើមទាំងអស់ដែលវិដជិតរបស់អ្នកដំណើរការលើ នៅក្នុងការកំណត់នៃក្លាយអិនរបស់អ្នក ដូចជា https://www.example.com។ អ្នកអាចរាយបានយ៉ាងច្រើនបំផុត 10។ ប្រភពដើមមួយគឺជា scheme មួយ host មួយ និង port ជាជម្រើសមួយ ដោយគ្មាន path។ សម្រាប់ការអភិវឌ្ឍ ប្រភពដើម loopback នៅលើ port ផ្ទាល់ខ្លួនរបស់អ្នកក៏ត្រូវបានអនុញ្ញាតដែរ ដូចជា http://localhost:5173។ តូខិនមួយត្រូវបានទទួលយកតែពីប្រភពដើមពិតប្រាកដដែលវាត្រូវបានបង្កើតសម្រាប់ប៉ុណ្ណោះ ដូច្នេះតូខិនដែលបានបង្កើតសម្រាប់ប្រភពដើមផ្សេងទៀតណាមួយ ត្រូវបាន API បដិសេធ។ ហ្គេមមិនត្រូវការប្រភពដើមទេ។
បង្កើតតូខិន
បង្កើតតូខិននៅពីក្រោយការចូលគណនីផ្ទាល់ខ្លួនរបស់អ្នក៖ ផ្លូវតូខិន (token route) របស់អ្នកពិនិត្យសម័យផ្ទាល់ខ្លួនរបស់អ្នកជាមុនសិន ហើយមានតែពេលនោះទេទើបបង្កើតតូខិនសម្រាប់អ្នកលេងនោះ។ កំណត់អត្រាកំណត់នៃផ្លូវនោះតាមសម័យនីមួយៗ។ សំណើបង្កើតតូខិនមួយទទួលវាលបី៖
player_ref៖ ឯកសារយោងផ្ទាល់ខ្លួនរបស់អ្នកសម្រាប់អ្នកលេង ពី 1 ដល់ 128 បៃនៃ UTF-8។ Lingara រក្សាទុកតែ hash របស់វាប៉ុណ្ណោះ។
scopes៖ យ៉ាងច្រើនបំផុត 5 ពីវិសាលភាពដែលតូខិនរបស់អ្នកលេងអាចកាន់បាន៖ events:read, events:write, lesson_plans:read, lesson_plans:write និង embed:play។ ប្រសិនបើអ្នកលុបវាចោល តូខិននឹងកាន់វិសាលភាពទាំងអស់ក្នុងចំណោមនោះដែលក្លាយអិនរបស់អ្នកកាន់។
origin៖ សម្រាប់គេហទំព័រ ប្រភពដើមរបស់ទំព័រ ដែលត្រូវតែជាប្រភពដើមមួយដែលអ្នកបានចុះឈ្មោះ។ លុបវាចោលសម្រាប់ហ្គេម។
ចម្លើយផ្ទុក token, expires_at, expires_in (ពេលផុតកំណត់ដដែលគិតជាវិនាទី សម្រាប់ឧបករណ៍ដែលនាឡិការបស់វាអ្នកមិនអាចទុកចិត្តបាន), subject, scopes របស់តូខិន និង account_linked ដែលប្រាប់ថាតើអ្នកលេងបានភ្ជាប់គណនី Lingara ផ្ទាល់ខ្លួនរបស់ពួកគេឬអត់។ subject សម្គាល់អត្តសញ្ញាណអ្នកលេងចំពោះក្លាយអិនរបស់អ្នក ហើយព្រឹត្តិការណ៍ទាំងអស់អំពីពួកគេផ្ទុកវា។
ប្រគល់តូខិន និងពេលផុតកំណត់របស់វាឲ្យអ្នកលេង ដូចដែលការប្រគល់របស់កញ្ចប់ឧបករណ៍សរសេរវាយ៉ាងពិតប្រាកដ តាមរយៈសម័យផ្ទាល់ខ្លួនរបស់អ្នក ហើយមិនដែលនៅក្នុង URL ឡើយ ហើយផ្ញើចម្លើយជាមួយ Cache-Control: no-store។ កញ្ចប់ឧបករណ៍អ្នកលេងសុំម្ដងទៀតនៅពេលតូខិនជិតផុតកំណត់ តូខិនមិនដែលត្រូវបានធ្វើឲ្យថ្មីឡើងវិញទេ។
បញ្ជូន webhook ទៅកាន់អ្នកលេងរបស់វា
Lingara ចុះហត្ថលេខាលើ webhook ទាំងអស់ដែលវាផ្ញើមកអ្នក។ ផ្ដល់ឲ្យកញ្ចប់ឧបករណ៍នូវតួសំណើដើម មុនពេលធ្វើការញែក JSON ណាមួយ ព្រោះហត្ថលេខាគ្របដណ្ដប់លើបៃរបស់វា។ កញ្ចប់ឧបករណ៍ពិនិត្យហត្ថលេខា ហើយរកមើលអ្នកលេងដែល subject នៃព្រឹត្តិការណ៍ដាក់ឈ្មោះ នៅក្នុងតារាងផ្ទាល់ខ្លួនរបស់អ្នក នៅក្បែរអ្នកលេងរបស់អ្នក ដែលផ្គូផ្គង subject នីមួយៗទៅនឹង player_ref របស់អ្នក។ អ្នកលេងដែលភ្ជាប់គណនីមួយ មាន subject ពីរ ដូច្នេះសូមរក្សាជួរឈរ subject ឲ្យមានតម្លៃមិនស្ទួន ហើយអនុញ្ញាតឲ្យ player_ref មួយលេចឡើងពីរដង។
ការបញ្ជូនគឺយ៉ាងហោចណាស់ម្ដង៖ រំលង ID ព្រឹត្តិការណ៍ដែលអ្នកបានដោះស្រាយរួចហើយ។ ឆ្លើយតបក្នុងរយៈពេល 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 ជា true ហើយអ្នកនៅតែបង់ប្រាក់សម្រាប់អ្វីដែលអ្នកលេងធ្វើ។
ដើម្បីបញ្ចប់ការភ្ជាប់ សូមហៅ unlinkEmbedPlayer ជាមួយតូខិនផ្ទាល់ខ្លួនរបស់ក្លាយអិនរបស់អ្នក។ គ្មានអ្វីផ្លាស់ទីត្រឡប់ទៅភ្ញៀវវិញទេ។ អ្នករៀនក៏អាចបញ្ចប់ការភ្ជាប់ដោយខ្លួនឯងបានដែរ ដោយលុបកម្មវិធីរបស់អ្នកនៅក្នុង «កម្មវិធីដែលបានភ្ជាប់»។