لإعداد خدمة التفويض المركزية ، نحتاج إلى
nginx بحد ذاته
وجلساته المشفرة - جلسة الصدى ،
والرؤوس - أكثر ،
auth_request ،
eval ،
set-misc . (لقد قدمت روابط إلى شوكة بلدي ، لأنني أجريت بعض التغييرات التي تعذر دفعها إلى المستودعات الأصلية حتى الآن. يمكنك أيضًا استخدام
الصورة الجاهزة .)
بالنسبة إلى جزء الخادم ، أضف إنشاء الرمز المميز إلى تكوين الخادم من
ESIA أو ترخيص
LDAP الأساسيlocation =/service { set_decode_base64 $auth_decode $cookie_auth;
وميزة التحقق من الصحة
location =/serviceValidate { set_unescape_uri $token_unescape $arg_token;
وفي تكوين خادم العميل ، وضعناها أولاً
encrypted_session_key "abcdefghijklmnopqrstuvwxyz123456";
بعد ذلك ، فقط في حالة تعطيل رأس التفويض
more_clear_input_headers Authorization;
الآن نحن نحمي كل شيء بإذن
auth_request /auth; location =/auth { internal; set_decode_base64 $auth_decode $cookie_auth;
للمستخدمين المصرح لهم ، نعرض المحتوى من مجلدهم
location / { alias html/$remote_user/; }
وفي حالة عدم وجود ترخيص ، نعيد التوجيه إلى خدمة الترخيص المركزية
error_page 401 = @error401; location @error401 { set_escape_uri $request_uri_escape $request_uri;
بعد التفويض الناجح ، تقوم خدمة التفويض المركزية بإعادة توجيهنا إلى المحدد
location =/login { eval $auth {