wds*_*pkr 6 rack ruby-on-rails omniauth
我正在使用没有设计的omniauth进行身份验证,因为我喜欢它的简单性.除了omniauth-facebook,我使用omniauth-identity来提供email/pw-authentication.
在上omniauth身份railscast介绍如何设置自定义的注册和登录页面.但仍可访问identity(/ auth/identity和/ auth/identity/register)提供的默认路由.
我想让这些在我的控制之下,因为我只想让受邀用户注册.有没有办法覆盖机架中间件提供的那些路由?
试着去
match "/auth/identity", to: "somewhere#else"
Run Code Online (Sandbox Code Playgroud)
不做的伎俩!
是否可能有配置来关闭这些默认路由?文档没有提供任何有关此...的详细信息
不幸的是我对Rack很新,所以我还没有足够的洞察力来解决这个问题!
如果有人能指出我正确的方向,我会很高兴的!
小智 6
一个OmniAuth策略对象有一个方法request_phase,其生成HTML形式,它显示给用户.对于"omniauth-identity"策略,这将是您在/auth/identityurl上看到的形式.
您可以覆盖该request_phase方法并将表单生成器替换为例如重定向到您的自定义登录页面(假设您在/loginurl处可用).将以下内容与omniauth初始化代码一起放置:
module OmniAuth
module Strategies
class Identity
def request_phase
redirect '/login'
end
end
end
end
# Your OmniAuth::Builder configuration goes here...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1959 次 |
| 最近记录: |