openstack keystonemiddleware接收前乙個wsgi過濾器傳來的wsgi環境資訊,進行驗證工作後傳遞給下乙個中介軟體,本文**keystone中介軟體究竟有哪些wsgi環境變數。
說明:下文中以 http\_ 開頭的header對應標準http header, 以 http_x 開頭的header對應擴充套件的http header,wsgi環境資訊用於在不同的wsgi元件間傳遞統一格式的內容,這些環境資訊來自於http請求或其他的wsgi元件,因此格式與http中header欄位的格式不同。
keystone中介軟體wsgi環境變數與http header欄位總結:
http請求中傳入的使用者令牌,對應於http請求header中的'x-auth-token'字段;
http請求中傳入的服務令牌;
www-authenticate
返回給使用者的http header,告訴他們獲取新令牌的keystone終端url
當使用復合認證(即同時提供使用者令牌和服務令牌)時,關於服務的額外header會被新增。他們與標準http header的格式相同,只不過多加了乙個_service_。如果沒有提供服務令牌,那麼這些headers就不存在。
只能取'confirmed' 或 'invalid',同時如果中間被配置成'delay_auth_decision'模式執行的話,那麼下游的服務將只會接收到'invalid';
域id,只有v3版的作用範圍為域的令牌會包含該項;
網域名稱稱,只有v3版的作用範圍為域的令牌會包含該項;
專案id,只有v3版的作用範圍為專案的令牌和v2版的作用範圍為租戶的令牌會包含該項;
專案名稱,只有v3版的作用範圍為專案的令牌和v2版的作用範圍為租戶的令牌會包含該項;
擁有專案的域id,只有v3版的作用範圍為專案的令牌會包含該項,一旦該項設定,假定在該域內的project_name唯一。
擁有專案的網域名稱稱,只有v3版的作用範圍為專案的令牌會包含該項,一旦該項設定,假定在該域內的project_name唯一。
使用者id或服務的使用者id。
使用者名稱或服務的使用者名稱。
使用者所在的域id,一旦該項設定,假定在該域內的user_name唯一。
使用者所在的網域名稱稱,一旦該項設定,假定在該域內的user_name唯一。
角色名稱,採用逗號隔開且大小寫敏感。
json格式編碼的服務目錄(可選),注意儘管該header中含有'service',卻對應的是使用者令牌,由於使用者令牌中包含的目錄可能已經非常大,因此不再指定服務令牌的目錄,這樣可以節省http的header空間。
1.
keystone.token_info
驗證令牌過程中發現的該令牌的相關資訊,可能同時包括keystone伺服器返回的驗證後的資訊和關於專案、使用者等的基本資訊。
2.
keystone.token_auth
乙個keystoneclient認證外掛程式,可能和類`keystoneclient.session.session`一起使用,該外掛程式將會載入要提供給auth_token中介軟體的認證資料。
中介軟體 WSGI
冒泡程式 array 1,2,5,3,6,8,4 foriinrange len array 1,0,1 printi forjinrange 0,i printj ifarray j array j 1 array j array j 1 array j 1 array j printarray ...
中介軟體 訊息中介軟體學習總結
冪等 在程式設計中.乙個冪等操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同。冪等函式,或冪等方法,是指可以使用相同引數重複執行,並能獲得相同結果的函式。這些函式 不會影響系統狀態,也不用擔心重複執行會對系統造成改變。例如,getusername 和settrue 函式就是乙個冪等函式....
中介軟體作業
主要檔案的 fctrl client linux.c this is sample code generated by rpcgen.these are only templates and you can use them as a guideline for developing your ow...