كيف بدأت في إنشاء مكون ADFS وتعلق

يجب أن أعترف على الفور أنني لست مبرمجًا حقيقيًا. أي بمجرد أن أصبح حقيقيًا - بمعنى أنني دفعت المال فقط مقابل كتابة البرامج. ومع ذلك ، كان هذا منذ أكثر من خمسة عشر عامًا ، كتبت برامج ، وفقًا للأزياء في ذلك الوقت ، بشكل رئيسي في دلفي (جيدًا ، أو قبل ذلك بقليل - أيضًا في C / C ++) - باختصار ، حول ما هو الآن ، حسنًا ، ليس على الإطلاق عصريًا وليس في الطلب. وعلى مدار الخمسة عشر عامًا الماضية ، كنت أجني المال بشكل حصري تقريبًا من خلال إدارة النظام ، وبشكل أساسي من خلال إدارة حلول Microsoft ، خاصةً Active Directory و MS Exchange. والشيء الوحيد الذي كان يتعلق بالبرمجة هو كتابة البرامج النصية ، إذا جاز التعبير ، لغة برمجة تسمى Powershell.



ومع ذلك ، فإن الآفاق المشرقة لإدارة النظام من حيث الخبز والزبدة والكافيار خفتت على نحو ما على مدى السنوات الخمس عشرة الماضية ، وقررت استدعاء الحرف القديم. ولكن في نفس الوقت قررت عدم محاولة الابتعاد كثيرًا عن الموضوعات المألوفة ، وذلك لاستخدام المعرفة المتراكمة بطريقة أو بأخرى. على وجه الخصوص ، معرفة منتجات Microsoft التي كنت أتعامل معها لمدة خمسة عشر عامًا. نظرًا لأن حقائب المبرمج القديمة مثل دلفي لم تعد عصرية ، لا يمكنك الحصول على أي كافيار معها ، وأنا حقًا لا أريد الذهاب إلى مطوري الأزياء الأماميين ، وتغيير Powershell إلى JavaScript ، بحيث لم أرغب فيما بعد في التنافس مع متخصصي تكنولوجيا المعلومات الذين تم سكهم حديثًا: العمر ليس هو نفسه ، و " متع لغة البرمجة النصية - مثل استحالة اكتشاف الأخطاء في مرحلة الترجمة - جعلوني في Powershell.



ولكن بعد ذلك وجدت صعوبة. من المعروف أن Microsoft قررت أن تصبح شركة سحابية منذ بعض الوقت. ولهذا ، بدأت في دفع مستخدميها إلى الغيوم ، والتي قررت بوضوح تجويع جميع منتجاتها المحلية الرائعة للأعمال التجارية ، مثل برنامجي المحبب. وهذا يخلو تلقائيًا من أي منظور لتطوير البرامج المتعلقة بهذه المنتجات. ومع ذلك ، عند التفكير ، وجدت ما يبدو أنه حل وسط مقبول: اكتب امتدادًا لخدمة اتحاد الدليل النشط (AD FS). لأن هذه الخدمة ، المستخدمة في مجموعة متنوعة من سيناريوهات المصادقة والترخيص في الأنظمة الموزعة ، لديها فرصة أفضل بكثير للبقاء في العالم الحديث من الحلول المصممة لتطبيقات "داخلية" بحتة. خاصه،يمكن استخدامه لتفويض الوصول إلى التطبيقات في سحابة Microsoft استنادًا إلى مصادقة Active Directory على أرض الواقع. لذلك ، قد يكون لاستخدام المعرفة والخبرة في هذه الخدمة (التي لدي القليل) على الأقل بعض المنظور للمستقبل.



فيما يتعلق بالوحدة الإضافية ، لدي بالفعل فكرة لمثل هذه الوحدة للمصادقة متعددة العوامل ، والتي ، كما يبدو لي ، يمكن أن تجد تطبيقًا للمؤسسات الصغيرة. حسنًا ، ربما سأتحدث عن الفكرة وتنفيذها في وقت لاحق. في هذه المقالة ، سأقتصر على قصة كيف بدأ هذا التنفيذ.



- , Microsoft Windows Server 2012 R2, ADFS , , , , , , . , . , , . , — Microsoft - , .

, , .



, . , , . : .NET CLR C#, , . , .NET Powershell , . , , , ( ) . — - - - Microsoft GitHub - SMS — , , - , , , API , — , .

, , .



: , ADFS HTML , , , , . , , , , , , : « ?» , , «, » ( ADFS hidden input, ), , — , . , ADFS, — null,

(claims) ( — URI) — ( URI, ). , . — .

. - , . : URI URL, ( ) urn. GAC ADFS . . , HTML, . .



, ADFS , , ID 364 «Microsoft.IdentityServer.RequestFailedException: No strong authentication method found for the request...», - , , . , ADFS , . , ( , ADFS URL ) — . , .



, , , ADFS , , . , , — , , , . : , , — , , , — . , — .



— — . , , — , , — : , , . . ( — ) . , : - , ( ) , «!», . , ( ): , , , , , . , . .



— -. — ( , ). — , . GitHub — , , API . - - — . URI — . , , , , ( ). , — . , ,



, : ( ) «http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod», (, ) «» , : «https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod». , , - . , , , .



. - Microsoft, : . - , - http https:

URI , URL, URL . — . - Microsoft, . : 100% , — , - . ( — ), , .



P.S.: , . - — , .




All Articles