加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – OAuth2和Omniauth之间的区别

发布时间:2020-12-16 19:44:36 所属栏目:百科 来源:网络整理
导读:我已经阅读了很多有关Omniauth和OAuth2的信息,以及Omniauth如何使用OAuth,但是我不太明白每个人的目标是什么. 例如,我知道,使用Omniauth,我可以回复发送参数 @auth[‘omniauth.params’] 但如果我使用OAuth,没有Omniauth,我可以做同样的吗? 我真正的问题是,
我已经阅读了很多有关Omniauth和OAuth2的信息,以及Omniauth如何使用OAuth,但是我不太明白每个人的目标是什么.

例如,我知道,使用Omniauth,我可以回复发送参数

@auth[‘omniauth.params’]

但如果我使用OAuth,没有Omniauth,我可以做同样的吗?

我真正的问题是,我不明白他们之间的区别,Omniauth结束和OAuth开始,我可以用Omniauth做什么,这是不可能的OAuth.

解决方法

在这个答案中,我假设你正在使用Rails(或者其他一些基于框架的框架),因为没有这个Omniauth没有什么意义.

从OAuth2开始. OAuth是一个系统,用于在一个站点上使用其他站点上的身份验证来授权用户. OAuth本身描述了管理它的系统,但它并没有指定站点用来执行的代码. (这意味着,例如,一个基于PHP的网站可以使用一个基于Ruby的网站作为提供者,而不需要知道提供者背后的情况.)

这是Omniauth进入的地方.Omniauth是支持基于Rack的站点的分散身份验证的一个包. OAuth2是它支持的协议之一,它包含一个名为OAuth2的类,它是OAuth2规范的Ruby实现.您可以将Omniauth视为OAuth2上的一个包装器,它处理协议的细节,而不会太麻烦你.

您可以使用OAuth2 gem / class而不使用Omniauth,并处理您自己的OAuth2认证的具体细节,但我不知道为什么.

就Outhiauth而言,如果使用OAuth无法做到这一点,大部分内容都与其他非OAuth服务进行身份验证(Omniauth允许使用社区制定的“策略”进行身份验证,例如Stack Exchange).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读