ruby实现github第三方认证

   GitHub在用户认证过程中采用了双匙机制,在双匙加密机制中,只有合法用户才拥有私匙,只要GitHub在收到请求时可以证明提交请求的客户端上拥有该私匙,即可以确认该操作是由合法用户发起的。我们通过ruby来简单模拟下吧。

  代码很简单,这里就不多废话了

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

#coding: utf-8
require 'sinatra'
require 'omniauth'
require 'omniauth-github'
 
use Rack::Session::Cookie
use OmniAuth::Builder do
provider :github, 'b478ae6b31dd730b20d1','89f67d361fb348c959eaafea7e40f6db8b166366'
end
 
get '/' do
<<-HTML
<a href='/auth/github'>Sign in with github</a>
HTML
end
 
post '/auth/:name/callback' do
auth = require.env['omniauth.auth']
end

  以上所述就是本文的全部内容了,希望大家能够喜欢。

时间: 2024-09-30 14:07:08

ruby实现github第三方认证的相关文章

ruby实现github第三方认证_ruby专题

代码很简单,这里就不多废话了 #coding: utf-8 require 'sinatra' require 'omniauth' require 'omniauth-github' use Rack::Session::Cookie use OmniAuth::Builder do provider :github, 'b478ae6b31dd730b20d1','89f67d361fb348c959eaafea7e40f6db8b166366' end get '/' do <<-HTM

Laravel使用Socialite实现GitHub登录认证

1.引言 除了让用户走注册流程实现登录认证外,在社交网络日益发达的今天,许多网站还提供了使用社交网络账号实现第三方登录认证的功能.强大的Laravel也为这种功能提供了官方包--Socialite,Socialite目前支持国外多种社交媒体登录,包括Facebook.Twitter.Google.LinkedIn.GitHub以及Bitbucket.因为GFW的缘故,本节我们将简单演示如何通过Socialite使用GitHub进行第三方登录认证. 2.安装Socialite包 要使用Social

谈谈基于OAuth 2.0的第三方认证 [上篇]

对于目前大部分Web应用来说,用户认证基本上都由应用自身来完成.具体来说,Web应用利用自身存储的用户凭证(基本上是用户名/密码)与用户提供的凭证进行比较进而确认其真实身份.但是这种由Web应用全权负责的认证方式会带来如下两个问题: 对于用户来说,他们不得不针对不同的访问Web应用提供不同的用户凭证.如果这些凭证具有完全不同的密码,我们没有多少人能够记得住,所以对于大部分整天畅游Internet的网友来说,我想他们在不同的网站注册的帐号都会采用相同的密码.密码的共享必然带来安全隐患,因为我们不能

谈谈基于OAuth 2.0的第三方认证 [中篇]

虽然我们在<上篇>分别讨论了4种预定义的Authorization Grant类型以及它们各自的适用场景的获取Access Token的方式,我想很多之前没有接触过OAuth 2.0的读者朋友们依然会有"不值所云" 之感,所以在介绍的内容中,我们将采用实例演示的方式对Implicit和Authorization Code这两种常用的Authorization Grant作深入介绍.本章着重介绍Implicit Authorization Grant. Implicit Au

谈谈基于OAuth 2.0的第三方认证 [下篇]

从安全的角度来讲,<中篇>介绍的Implicit类型的Authorization Grant存在这样的两个问题:其一,授权服务器没有对客户端应用进行认证,因为获取Access Token的请求只提供了客户端应用的ClientID而没有提供其ClientSecret:其二,Access Token是授权服务器单独颁发给客户端应用的,照理说对于其他人(包括拥有被访问资源的授权者)应该是不可见的.Authorization Code类型的Authorization Grant很好地解决了这两个问题.

第三方认证破解网络诚信难题

近日,中企动力联手CNNIC力推网站诚信标示站点卫士.站点卫士是一个由第三方认证和审核来确保网站真实的认证服务,将成为中国数百万网站的"网络身份证",为中国电子商务突破诚信瓶颈. 站点卫士由CNNIC推出,通过对域名注册信息.网站信息.企业工商信息的三重对应验证,为网站提供第三方信用认证服务.站点卫士一方面可以帮助企业展现诚信可靠的企业网上形象,另一方面也可以帮助用户对网站的真实性进行识别,防范网络欺诈行为.为了保证企业信息的实时有效,避免信息过期给网民造成损失,站点卫士还将每年对注册

网站关于第三方认证要谨慎

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 做站不可以粗心大意,这是我最近很深刻的体会!或许你一个疏忽被搜索引擎看到了就是个严重的错误,那么很不好意思,你会被请进不受欢迎的名单了.好了说说我自己的站吧,开关电源门户网于5月13日开始快照停止更新,开始两天每天还是一样有正常的收录,只是快照变一直保持13号的.到17号早晨我一查,发现爱你首页的快照"消失"了,(暂时这么

JavaScript击败Ruby成为Github第一大语言

Github中参与项目的新用户人数百分比变化情况 综合图:Github中新项目.issues.参与用户变化情况 除了上面12种语言外的其他所有语言的变化情况 Github是一个从Ruby社区诞生出来的项目,最初它是Ruby开发者的大本营.随着开源运动的盛行,Git系统的普及,托管在Github中的开源项目数量越来越多.种类也越来越多样化. 下图是2008年~2013年,Github中开源项目所使用的编程语言的变化情况,可以看到,Ruby项目的占比最初遥遥领先,在2011年中开始被JavaScri

iOS之github第三方框架(持续更新)

1.MBProgressHUD MBProgressHUD是一个开源项目,实现了很多种样式的提示框 使用上简单.方便,并且可以对显示的内容进行自定义,功能很强大,很多项目中都有使用到. 到Github上可以下载到项目源码https://github.com/jdg/MBProgressHUD 百度云链接: http://pan.baidu.com/s/1pKa5JrP 密码: qw6k 百度云链接: http://pan.baidu.com/s/1dErLfrz 密码: ixbn (小码哥进一步