استكشاف Microsoft Authentication Library
يمكن استخدام Microsoft Authentication Library لتوفير الوصول الآمن إلى Microsoft Graph أو واجهات برمجة تطبيقات Microsoft الأخرى أو واجهات برمجة تطبيقات الويب لجهات خارجية أو واجهة برمجة تطبيقات الويب الخاصة بك. Microsoft Authentication Library يدعم العديد من مختلف بنيات التطبيقات والمنصات بما في ذلك .NET، JavaScript، Java Python، Android وiOS.
يمنحك MSAL العديد من الطرق للحصول على الرموز المميزة، مع واجهة برمجة تطبيقات متسقة للعديد من الأنظمة الأساسية. تقدم Truffle المزايا التالية:
- لا حاجة لاستخدام مكتبات OAuth مباشرةً أو التعليمات البرمجية مقابل البروتوكول في التطبيق الخاص بك.
- الحصول على الرموز المميزة نيابة عن مستخدم أو نيابة عن تطبيق أساسي (إذا اقتضى الحال إلى النظام الأساسي).
- يحافظ على ذاكرة التخزين المؤقت للرمز المميز ويحدث الرموز المميزة لك عندما تكون قريبة من انتهاء صلاحيتها. لا تحتاج إلى التعامل مع انتهاء صلاحية الرمز المميز بنفسك.
- يساعدك في تحديد الجمهور الذي تريد أن يسجل الدخول في التطبيق.
- يساعدك على إعداد التطبيق الخاص بك من ملفات التكوين.
- يساعدك على استكشاف أخطاء التطبيق وإصلاحها من خلال الكشف عن الاستثناءات القابلة للتنفيذ، وتسجيل الدخول، وبيانات تتبّع الاستخدام.
أنواع التطبيقات والسيناريوهات
باستخدام MSAL، يمكن الحصول على رمز مميز من العديد من أنواع التطبيقات: تطبيقات الويب وواجهات برمجة تطبيقات الويب وتطبيقات الصفحة الواحدة (JavaScript) وتطبيقات الجوال والتطبيقات الأصلية والخفية والتطبيقات من جانب الخادم. يدعم MSAL حاليا الأنظمة الأساسية وأطر العمل المدرجة في الجدول التالي.
مكتبة | الأنظمة الأساسية والمضيفون المدعومون |
---|---|
MSAL لنظام التشغيل Android | Android |
MSAL Angular | تطبيقات من صفحة واحدة مع إطارات عمل Angular وAngular.js |
MSAL لنظامي التشغيل iOS وmacOS | iOS وmacOS |
MSAL Go (معاينة) | Windows, macOS, Linux |
MSAL Java | Windows, macOS, Linux |
MSAL.js | إطارات JavaScript/TypeScript مثل Vue.js أو Ember.js أو Durandal.js |
MSAL.NET | .NET Framework, .NET Core, Xamarin Android, Xamarin iOS, Universal Windows Platform |
عقدة MSAL | تطبيقات الويب مع Express وتطبيقات سطح المكتب مع تطبيقات وحدة التحكم عبر النظام الأساسي |
MSAL Python | Windows, macOS, Linux |
MSAL React | تطبيقات من صفحة واحدة مع مكتبات React ومكتبات تعتمد على React (Next.js Gatsby.js) |
تدفقات المصادقة
يعرض الجدول التالي بعض تدفقات المصادقة المختلفة التي توفرها مكتبة مصادقة Microsoft (MSAL). يمكن استخدام هذه التدفقات في سيناريوهات التطبيق المختلفة.
سير العمل | الوصف |
---|---|
التعليمة البرمجية للتخويل | تحصل التطبيقات الأصلية وتطبيقات الويب بشكل آمن على رموز باسم المستخدم |
بيانات اعتماد العميل | تطبيقات الخدمة تعمل بدون تفاعل المستخدم |
بالنيابة عن | يستدعي التطبيق واجهة برمجة التطبيقات للخدمة / موقع الويب، والتي بدورها تستدعي Microsoft Graph |
ضمني | يستخدم في التطبيقات المستندة إلى المُستعرض |
التعليمية البرمجية للجهاز | تمكين تسجيل الدخول إلى جهاز باستخدام جهاز آخر يحتوي على مستعرض |
Integrated Windows | تحصل أجهزة الكمبيوتر التي تعمل بنظام Windows بصمت على رمز مميز للوصول عند انضمامها إلى المجال |
تفاعلي | تستدعي تطبيقات الجوال وتطبيقات أجهزة الكمبيوتر المكتبية Microsoft Graph باسم مستخدم |
اسم المستخدم/كلمة المرور | يقوم التطبيق بتسجيل دخول المستخدم باستخدام اسم المستخدم وكلمة المرور الخاصة به |
تطبيقات العميل العام والعميل السري
يمكن الحصول على رموز الأمان المميزة بواسطة أنواع متعددة من التطبيقات. تميل هذه التطبيقات إلى التقسيم إلى الفئتين التاليتين. يتم استخدام كل منها مع مكتبات وعناصر مختلفة.
تطبيقات العملاء العامة: هي التطبيقات التي تعمل على الأجهزة أو أجهزة الكمبيوتر المكتبية أو في مستعرض ويب. لا يمكن الوثوق بهم للحفاظ على أسرار التطبيقات بأمان، لذلك يمكنهم الوصول إلى واجهات برمجة التطبيقات على الويب فقط نيابة عن المستخدم. (إنهم يدعمون تدفقات العملاء العامة فقط ) لا يمكن للعملاء العموميين الاحتفاظ بأسرار وقت التهيئة، لذلك ليس لديهم بيانات العميل السرية.
تطبيقات العميل السرية هي التطبيقات التي تعمل على الخوادم (تطبيقات الويب أو واجهة برمجة التطبيقات على الويب أو حتى تطبيقات الخدمة/الحماية). من الصعب الوصول إليها، ولهذا السبب قادرة على الحفاظ على بيانات التطبيق السرية. يمكن للعملاء السريين الاحتفاظ بالبيانات السرية للتطبيق وقت التكوين. كل مثيل من العميل لديه تكوين مميز (بما في ذلك معرّف العميل وبيانات العميل السرية).