forked from External/greenlight
oauth update
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user