我有兩個應用程序,AppA和AppB,它們都是Rails應用程序。如何使用devise,omniauth登錄到遠程rails應用程序
我創建了一個使用Devise,Omniauth和Doorkeeper的單點登錄機制。 這是如果您登錄到AppA,那麼您將被授權給AppB,因爲AppB向AppA發出oauth呼叫以檢查此情況。 AppA有設計,目前你必須登錄。
我希望能夠做的是在AppB中創建一個ajax登錄表單,並且這會將我的憑據傳遞給AppA中的Devise,並允許我訪問AppB,而不是重定向到AppA並返回。
我似乎能夠做到這一點,如果我禁用在AppA中的CSRF檢查,但我希望能夠有一個替代方案,我或者不必這樣做,或者我可以提供一個替代方案,而無需任何安全漏洞。
所以我的主要問題是,如果有人有任何想法如何做到這一點,或者他們做了類似的事情,並有建議嗎? 非常感謝,
埃蒙
謝謝您的回覆,但我想要當然,我對此有一些保障,所以我不只是想拿走CSRF並且不留下任何東西。 – etphoneshome
正如我上面提到的 - 你只想在你的ApiController *中禁用CSRF檢查*。然後,您可以默認在您的ApplicationController中啓用CSRF保護,以便保護您的其他應用程序。 – mwalsher