Module: Yoti::DynamicSharingService
- Defined in:
- lib/yoti/dynamic_share_service/share_url.rb,
lib/yoti/dynamic_share_service/dynamic_scenario.rb,
lib/yoti/dynamic_share_service/extension/extension.rb,
lib/yoti/dynamic_share_service/policy/wanted_anchor.rb,
lib/yoti/dynamic_share_service/policy/dynamic_policy.rb,
lib/yoti/dynamic_share_service/policy/wanted_attribute.rb,
lib/yoti/dynamic_share_service/policy/source_constraint.rb,
lib/yoti/dynamic_share_service/extension/transactional_flow_extension.rb,
lib/yoti/dynamic_share_service/extension/location_constraint_extension.rb,
lib/yoti/dynamic_share_service/extension/thirdparty_attribute_extension.rb
Defined Under Namespace
Classes: ApplicationNotFoundError, DynamicPolicy, DynamicPolicyBuilder, DynamicScenario, DynamicScenarioBuilder, Extension, ExtensionBuilder, InvalidDataError, LocationConstraintExtension, LocationConstraintExtensionBuilder, Share, SourceConstraint, SourceConstraintBuilder, ThirdPartyAttributeDefinition, ThirdPartyAttributeExtension, ThirdPartyAttributeExtensionBuilder, ThirdPartyAttributeExtensionContent, TransactionalFlowExtension, TransactionalFlowExtensionBuilder, UnknownHTTPError, WantedAnchor, WantedAnchorBuilder, WantedAttribute, WantedAttributeBuilder
Class Method Summary
collapse
Class Method Details
.create_share_url(scenario) ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/yoti/dynamic_share_service/share_url.rb', line 24
def self.create_share_url(scenario)
endpoint = "#{create_share_url_endpoint}#{create_share_url_query}"
uri = URI("#{Yoti.configuration.api_endpoint}#{endpoint}")
unsigned = Net::HTTP::Post.new uri
unsigned.body = scenario.to_json
signed_request = Yoti::SignedRequest.new(
unsigned,
endpoint,
scenario
).sign
response = Net::HTTP.start(
uri.hostname,
uri.port,
use_ssl: true
) do |http|
http.request signed_request
end
create_share_url_parse_response response
end
|
.create_share_url_endpoint ⇒ Object
16
17
18
|
# File 'lib/yoti/dynamic_share_service/share_url.rb', line 16
def self.create_share_url_endpoint
"/qrcodes/apps/#{Yoti.configuration.client_sdk_id}"
end
|
.create_share_url_parse_response(response) ⇒ Object
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/yoti/dynamic_share_service/share_url.rb', line 48
def self.create_share_url_parse_response(response)
if response.code.to_i < 200 || response.code.to_i >= 300
case response.code
when '400'
raise InvalidDataError
when '404'
raise ApplicationNotFoundError
else
raise UnknownHTTPError, response.code
end
end
Share.new JSON.parse response.body
end
|
.create_share_url_query ⇒ Object
20
21
22
|
# File 'lib/yoti/dynamic_share_service/share_url.rb', line 20
def self.create_share_url_query
"?nonce=#{SecureRandom.uuid}×tamp=#{Time.now.to_i}"
end
|