Class: LinkedRails::Auth::OtpSecret
- Inherits:
-
OtpBase
- Object
- ApplicationRecord
- OtpBase
- LinkedRails::Auth::OtpSecret
show all
- Defined in:
- app/models/linked_rails/auth/otp_secret.rb
Instance Attribute Summary
Attributes inherited from OtpBase
#encoded_session, #otp_attempt
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from OtpBase
iri_template, owner_for_otp, singular_iri_template
Methods included from OtpHelper
#handle_expired_session, #owner_from_session, #session_from_param
Class Method Details
.activated?(owner_id) ⇒ Boolean
51
52
53
54
55
56
|
# File 'app/models/linked_rails/auth/otp_secret.rb', line 51
def activated?(owner_id)
LinkedRails.otp_secret_class.exists?(
owner_id: owner_id,
active: true
)
end
|
58
59
60
|
# File 'app/models/linked_rails/auth/otp_secret.rb', line 58
def form_class
LinkedRails.otp_secret_form_class
end
|
.preview_includes ⇒ Object
62
63
64
|
# File 'app/models/linked_rails/auth/otp_secret.rb', line 62
def preview_includes
i[image]
end
|
.requested_single_resource(params, _user_context) ⇒ Object
77
78
79
|
# File 'app/models/linked_rails/auth/otp_secret.rb', line 77
def requested_single_resource(params, _user_context)
LinkedRails.otp_secret_class.find_by(id: params[:id])
end
|
.requested_singular_resource(params, user_context) ⇒ Object
66
67
68
69
70
71
72
73
74
75
|
# File 'app/models/linked_rails/auth/otp_secret.rb', line 66
def requested_singular_resource(params, user_context)
owner = owner_for_otp(params, user_context)
return if owner.blank?
secret = LinkedRails.otp_secret_class.find_or_create_by!(owner: owner)
secret.encoded_session = params[:session]
secret
rescue ActiveRecord::RecordNotUnique
requested_singular_resource(params, user_context)
end
|
.route_key ⇒ Object
81
82
83
|
# File 'app/models/linked_rails/auth/otp_secret.rb', line 81
def route_key
'u/otp_secrets'
end
|
.singular_route_key ⇒ Object
85
86
87
|
# File 'app/models/linked_rails/auth/otp_secret.rb', line 85
def singular_route_key
'u/otp_secret'
end
|
Instance Method Details
#image ⇒ Object
12
13
14
15
16
17
18
19
20
21
|
# File 'app/models/linked_rails/auth/otp_secret.rb', line 12
def image
return if active? || !persisted?
@image ||=
LinkedRails::MediaObject.new(
content_url: data_url,
content_type: 'image/png',
iri: LinkedRails.iri(path: root_relative_iri, fragment: 'image')
)
end
|
#iri_opts ⇒ Object
23
24
25
|
# File 'app/models/linked_rails/auth/otp_secret.rb', line 23
def iri_opts
{id: id}
end
|
#redirect_url ⇒ Object
27
28
29
|
# File 'app/models/linked_rails/auth/otp_secret.rb', line 27
def redirect_url
decoded_session['redirect_uri'] || LinkedRails.iri.to_s
end
|