Pour préparer le service d'autorisation central, nous avons besoin de 
nginx lui-même et de ses 
plugins de session cryptée , 
echo , 
headers-more , 
auth_request , 
eval , 
set-misc . (J'ai donné des liens vers mes fourches, car j'ai apporté des modifications qui n'ont pas encore été entassées dans les référentiels d'origine. Vous pouvez également utiliser l' 
image prête à l' 
emploi .)
Pour la partie serveur, ajoutez la génération de jetons à la configuration du serveur à partir d' 
une autorisation 
ESIA , de 
base ou 
LDAPlocation =/service { set_decode_base64 $auth_decode $cookie_auth;  
et validation des jetons
 location =/serviceValidate { set_unescape_uri $token_unescape $arg_token;  
Et dans la configuration du serveur client, nous avons d'abord défini
 encrypted_session_key "abcdefghijklmnopqrstuvwxyz123456"; 
Ensuite, juste au cas où, désactivez l'en-tête d'autorisation
 more_clear_input_headers Authorization; 
Maintenant, nous protégeons tout avec autorisation
 auth_request /auth; location =/auth { internal; set_decode_base64 $auth_decode $cookie_auth;  
Pour les utilisateurs autorisés, nous affichons le contenu de leur dossier
 location / { alias html/$remote_user/; } 
Et en l'absence d'autorisation, nous redirigeons vers le service central d'autorisation
 error_page 401 = @error401; location @error401 { set_escape_uri $request_uri_escape $request_uri;  
Après une autorisation réussie, le service d'autorisation central nous redirige vers le site spécifié
 location =/login { eval $auth {