Sha256: f5a9b39afab7e294404ac1280d20fa73a6ca7718c45596d298cf614c3589f6c5
Contents?: true
Size: 1 KB
Versions: 1
Compression:
Stored size: 1 KB
Contents
require 'rails_drive/google' module RailsDrive # Alias the module Oauth2 = Google::Apis::Oauth2V2 Auth = Google::Auth class Signin include DriveConfig def initialize(id_token_string) @id_token = id_token_verifier(id_token_string) end def create_or_get_user if @id_token != nil user = User.find_by open_id: @id_token.user_id if user user else User.create open_id: @id_token.user_id, email: @id_token.email end end end private def id_token_verifier(id_token_string) client_id = Auth::ClientId.from_file CLIENT_SECRETS_PATH auth_service = Oauth2::Oauth2Service.new id_token = auth_service.tokeninfo(id_token: id_token_string) begin raise 'token not issued to us' if id_token.issued_to != client_id.id raise 'token not issued to us' if id_token.audience != client_id.id id_token rescue Exception => e nil end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails_drive-0.1.0 | lib/rails_drive/signin.rb |