oauth update

This commit is contained in:
Zachary Chai
2016-11-04 14:28:40 -04:00
parent e093ead683
commit b4e0e73692
21 changed files with 79 additions and 144 deletions

View File

@ -1,17 +1,17 @@
class User < ApplicationRecord
validates :username,
uniqueness: { message: "this username is taken" },
format: { with: /\A^[0-9a-z-_]+\Z/,
message: "Only allows lowercase alphanumeric characters with dashes and underscores",
allow_blank: true }
# validates :username,
# format: { with: /\A^[0-9a-z-_]+\Z/,
# message: "Only allows lowercase alphanumeric characters with dashes and underscores",
# allow_blank: true }
before_create :set_encrypted_id
def self.from_omniauth(auth_hash)
user = find_or_initialize_by(uid: auth_hash['uid'], provider: auth_hash['provider'])
unless user.persisted?
# user.username = self.send("#{auth_hash['provider']}_username", auth_hash) rescue nil
user.name = auth_hash['info']['name']
end
user.username = self.send("#{auth_hash['provider']}_username", auth_hash) rescue nil
user.name = auth_hash['info']['name']
user.save!
user
end
@ -19,7 +19,15 @@ class User < ApplicationRecord
auth_hash['info']['nickname']
end
def self.google_username(auth_hash)
auth_hash['info']['email'].split('@').first
end
def room_url
"/rooms/#{username}"
"/rooms/#{encrypted_id}"
end
def set_encrypted_id
self.encrypted_id = Digest::SHA1.hexdigest(uid+provider)
end
end