我試圖利用omniauth-shibboleth策略(與rack-saml)。OmniAuth Shibboleth策略配置不通過
我omniauth初始化看起來是這樣的:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :shibboleth, {
:info_fields => {
:email => 'mail',
},
:extra_fields => [:cn, :sn, :schacHomeOrganization],
}
end
一切順利達至omniauth-陳詞濫調應該建立omniauth.auth
ENV變量的地步,但是這最終部分。
即 - 它確實檢測到eduPersonPrincipalName
並將其傳遞到uid
正確提交 - 我可以看到它。
但是它未能填寫email
,以及額外的參數cn, sn, schacHomeOrganization
。
我已驗證request.env
確實包含所有必需的屬性,所以問題不在於Shibboleth方。
對於調試,我硬編碼在創業板選項文件lib/omniauth/strategies/shibboleth.rb
:
option :info_fields, {:email => 'mail'}
option :extra_fields, [:cn, :sn, :schacHomeOrganization]
然後一切正常。
因此,似乎有問題,或者請與我Omniauth設置或omniauth-陳詞濫調處理的選項,讓我的配置並沒有結束合併使用默認值的方式。
我在做什麼錯?
版本:
omniauth - 1.1.1
omniauth-shibboleth - 1.0.8
rack-saml - 0.0.4
pow - 0.4.0
你有沒有嘗試不把額外的選項放在哈希?提供者:shibboleth,:info_fields => {:email =>'mail'},:extra_fields => [:cn,:sn,:schacHomeOrganization] – brimil01
是的,我有,儘管Omniauth源代碼表示它不應該有任何區別。 – Laas