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