我已根据Devise人员提供的examples在我的应用中集成了Devise + OmniAuth和omniauth-google-apps策略。这一切都适用于以下用户流程。
但是,我想用自己的表单“覆盖”标准权宜之计OmniAuth Google Apps身份验证表单(这是用户提交其Google Apps域的表单)。
我该怎么做?
答案 0 :(得分:1)
好的,经过一段时间的努力,我想我已经碰到了一个很好的解决方案。我没有"覆盖"标准权宜之计OmniAuth Google Apps身份验证表单本身,但这就是我所做的。
我在现有的google_apps
SessionsController
操作
# sessions_controller.rb
def google_apps
@title = 'Sign In with Google Apps'
respond_to do |format|
format.html
end
end
我添加了一个自定义视图,要求用户提供她的Google Apps域名(请注意,该表单只是将域名与OmniAuth表单的域名相同
-# google_apps.html.haml
= form_tag user_omniauth_authorize_path(:google_apps) do
%p
= url_field_tag 'domain', nil, placeholder: 'example.com'
= link_to_submit_form 'Sign In'
顺便说一句,如果你有更好的解决方案,请发表你的答案。