omn​​iauth gem 如何创建路由?

How the omniauth gem create the routes?

我正在使用 omniauth 来实施身份验证策略,但有一件事我无法理解:omniauth 会生成一些要使用的路由,但我无法通过 rake routes 看到它。

比如gem omniauth-saml会生成auth/saml条路由,当我访问这条路径时,就会发起请求阶段。但是,我在路线列表中找不到它。因此,我很难知道哪些路由已经创建,可以直接使用。

谁能帮帮我?

干杯

我找到了答案。

Omniauth 是一个基于机架的应用程序,因此它可以处理每个 HTTP 请求并根据不同的路径执行任务。他们称任务为 phase

主要包括两个阶段:

请求阶段:默认路径为"#{path_prefix}/#{name}"

回调阶段:默认路径为"#{path_prefix}/#{name}/callback,由options[:callback_path]

自定义