首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过设计实现WebAuthn on Rails

通过设计实现WebAuthn on Rails
EN

Stack Overflow用户
提问于 2021-02-28 16:56:53
回答 2查看 564关注 0票数 1

我有一个RoR WebApp,它使用Devise进行身份验证。我偶然发现了FIDO,特别是WebAuth。现在,我正在尝试为同一个应用程序实现WebAuthn。WebAuthn on Rails在网-创作-红宝石上有一个很好的gem实现。

这个宝石虽然不使用设计。因此,我想知道用WebAuthn设计工作的最佳方法是什么。在高层次上,我是否需要覆盖Devise的核心特性并合并WebAuthn方法?还是有更好的选择?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2021-03-01 18:20:35

我联系了一个优秀的团队@ cedarcode.com,它维护着https://github.com/cedarcode/webauthn-ruby。他们正在为同一项目进行设计扩展,到目前为止还没有。因此,到目前为止,似乎没有任何宝石或扩展可以做到这一点。但更重要的是,团队为一个完全不同的项目建议了一个单独的PR,在这个项目中,他们通过WebAuth在基于设计的场景中集成webauth。这是一个https://github.com/tootsuite/mastodon/pull/14466,它应该帮助任何有兴趣将WebAuth集成到rails项目中的人。

票数 1
EN

Stack Overflow用户

发布于 2022-05-27 05:56:48

网作者宝石可以与Devise集成。简而言之,您可以正常地实现webauthn (有关更多信息,请参见他们的自述或演示应用程序 ),然后用自己的方式重写Devise的默认会话控制器。

在我的例子中,我创建了一个会话控制器,其对象是从Devise继承的人:

代码语言:javascript
复制
# app/controllers/people/sessions_controller.rb
class People::SessionsController < Devise::SessionsController
  def new
    # ...
  end

  def create
    # ...
  end
end

然后更新路线告诉设计人员使用它:

代码语言:javascript
复制
# BEFORE
# devise_for :people
# AFTER
devise_for :people, controllers: {sessions: 'people/sessions'}

有一个来自HoneyBadger的HoneyBadger,它深入到了更多的细节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66411566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档