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以上所述就是本文的全部内容了,希望大家能够喜欢。