Merge branch 'main' into glitch-soc/merge-upstream
This commit is contained in:
@ -15,10 +15,10 @@ module LdapAuthenticable
|
||||
|
||||
def ldap_get_user(attributes = {})
|
||||
safe_username = attributes[Devise.ldap_uid.to_sym].first
|
||||
|
||||
if Devise.ldap_uid_conversion_enabled
|
||||
keys = Regexp.union(Devise.ldap_uid_conversion_search.chars)
|
||||
replacement = Devise.ldap_uid_conversion_replace
|
||||
|
||||
safe_username = safe_username.gsub(keys, replacement)
|
||||
end
|
||||
|
||||
|
35
app/models/login_activity.rb
Normal file
35
app/models/login_activity.rb
Normal file
@ -0,0 +1,35 @@
|
||||
# frozen_string_literal: true
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: login_activities
|
||||
#
|
||||
# id :bigint(8) not null, primary key
|
||||
# user_id :bigint(8) not null
|
||||
# authentication_method :string
|
||||
# provider :string
|
||||
# success :boolean
|
||||
# failure_reason :string
|
||||
# ip :inet
|
||||
# user_agent :string
|
||||
# created_at :datetime
|
||||
#
|
||||
|
||||
class LoginActivity < ApplicationRecord
|
||||
enum authentication_method: { password: 'password', otp: 'otp', webauthn: 'webauthn', sign_in_token: 'sign_in_token', omniauth: 'omniauth' }
|
||||
|
||||
belongs_to :user
|
||||
|
||||
validates :authentication_method, inclusion: { in: authentication_methods.keys }
|
||||
|
||||
def detection
|
||||
@detection ||= Browser.new(user_agent)
|
||||
end
|
||||
|
||||
def browser
|
||||
detection.id
|
||||
end
|
||||
|
||||
def platform
|
||||
detection.platform.id
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user