yoti 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +17 -0
- data/Gemfile +1 -0
- data/README.md +4 -1
- data/lib/generators/yoti/install/install_generator.rb +1 -1
- data/lib/yoti/activity_details.rb +46 -22
- data/lib/yoti/data_type/anchor.rb +5 -5
- data/lib/yoti/data_type/attribute.rb +16 -15
- data/lib/yoti/data_type/image.rb +19 -0
- data/lib/yoti/data_type/image_jpeg.rb +7 -0
- data/lib/yoti/data_type/image_png.rb +7 -0
- data/lib/yoti/data_type/multi_value.rb +48 -0
- data/lib/yoti/data_type/profile.rb +34 -30
- data/lib/yoti/data_type/signed_time_stamp.rb +7 -7
- data/lib/yoti/http/request.rb +2 -0
- data/lib/yoti/protobuf/attrpubapi/Attribute_pb.rb +40 -0
- data/lib/yoti/protobuf/attrpubapi/ContentType_pb.rb +25 -0
- data/lib/yoti/protobuf/attrpubapi/List_pb.rb +28 -0
- data/lib/yoti/protobuf/{v3/attrpubapi/signing_pb.rb → attrpubapi/Signing_pb.rb} +6 -6
- data/lib/yoti/protobuf/{v3/compubapi/encrypted_data_pb.rb → compubapi/EncryptedData_pb.rb} +4 -4
- data/lib/yoti/protobuf/{v3/compubapi/signed_time_stamp_pb.rb → compubapi/SignedTimestamp_pb.rb} +4 -4
- data/lib/yoti/protobuf/main.rb +41 -16
- data/lib/yoti/ssl.rb +6 -6
- data/lib/yoti/util/age_processor.rb +3 -3
- data/lib/yoti/util/anchor_processor.rb +67 -66
- data/lib/yoti/util/log.rb +23 -0
- data/lib/yoti/version.rb +1 -1
- data/lib/yoti.rb +5 -0
- data/rubocop.yml +17 -1
- data/yoti.gemspec +3 -3
- metadata +23 -22
- data/lib/yoti/protobuf/definitions/attrpubapi/attribute.proto +0 -52
- data/lib/yoti/protobuf/definitions/attrpubapi/list.proto +0 -27
- data/lib/yoti/protobuf/definitions/attrpubapi/signing.proto +0 -23
- data/lib/yoti/protobuf/definitions/compubapi/encrypted_data.proto +0 -15
- data/lib/yoti/protobuf/definitions/compubapi/signed_time_stamp.proto +0 -43
- data/lib/yoti/protobuf/v3/attrpubapi/attribute_pb.rb +0 -39
- data/lib/yoti/protobuf/v3/attrpubapi/list_pb.rb +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e50de3d515cbe593c45eee88ea0d684d0a1eafa59d0df31e4f52977f802a0773
|
4
|
+
data.tar.gz: 7e3aad79f573318e00328341abb2e162b8d438c232b488eb6bade1ac8b38151a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c229fc49f7ca7bb4b3868395dd3e01742b08b6371eab0e9c8f085ac23e2c653260b6e06e5f858a59e596e8cec4b2d541f008ea391a0bec9e8388cd29f4bca8f
|
7
|
+
data.tar.gz: df7636a39d76928759337e949384c9e118a299da275f06aa47918819aa9012795bd6a494056b7bb49825dc920677c3e8db9385d339557436c4361f242cd87b0c
|
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# Yoti Ruby SDK
|
2
2
|
|
3
|
+
[](https://travis-ci.com/getyoti/yoti-ruby-sdk)
|
4
|
+
|
3
5
|
Welcome to the Yoti Ruby SDK. This repository contains the tools you need to quickly integrate your Ruby back-end with Yoti so that your users can share their identity details with your application in a secure and trusted way.
|
4
6
|
|
5
7
|
## Table of Contents
|
@@ -303,7 +305,8 @@ Visiting `https://localhost:4567/` should show a Yoti Connect button
|
|
303
305
|
## API Coverage
|
304
306
|
|
305
307
|
* Activity Details
|
306
|
-
* [X]
|
308
|
+
* [X] Remember Me ID `remember_me_id`
|
309
|
+
* [X] Parent Remember Me ID `parent_remember_me_id`
|
307
310
|
* [X] Base64 Selfie URI `base64_selfie_uri`
|
308
311
|
* [X] Age verified `age_verified`
|
309
312
|
* [X] Profile `profile`
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Yoti
|
2
2
|
module Generators
|
3
3
|
class InstallGenerator < Rails::Generators::Base
|
4
|
-
source_root File.expand_path('
|
4
|
+
source_root File.expand_path('./templates', __dir__)
|
5
5
|
|
6
6
|
desc 'This generator creates an Yoti initializer file at config/initializers'
|
7
7
|
|
@@ -6,9 +6,16 @@ module Yoti
|
|
6
6
|
# @return [String] the outcome of the profile request, eg: SUCCESS
|
7
7
|
attr_reader :outcome
|
8
8
|
|
9
|
+
# @deprecated replaced by :remember_me_id
|
9
10
|
# @return [String] the Yoti ID
|
10
11
|
attr_reader :user_id
|
11
12
|
|
13
|
+
# @return [String] the Remember Me ID
|
14
|
+
attr_reader :remember_me_id
|
15
|
+
|
16
|
+
# @return [String] the Parent Remember Me ID
|
17
|
+
attr_reader :parent_remember_me_id
|
18
|
+
|
12
19
|
# @return [Hash] the decoded profile attributes
|
13
20
|
attr_reader :user_profile
|
14
21
|
|
@@ -21,41 +28,58 @@ module Yoti
|
|
21
28
|
# @param receipt [Hash] the receipt from the API request
|
22
29
|
# @param decrypted_profile [Object] Protobuf AttributeList decrypted object containing the profile attributes
|
23
30
|
def initialize(receipt, decrypted_profile = nil)
|
24
|
-
@
|
31
|
+
@remember_me_id = receipt['remember_me_id']
|
32
|
+
@user_id = @remember_me_id
|
33
|
+
@parent_remember_me_id = receipt['parent_remember_me_id']
|
34
|
+
@outcome = receipt['sharing_outcome']
|
25
35
|
@user_profile = {}
|
26
36
|
@extended_profile = {}
|
37
|
+
process_decrypted_profile(decrypted_profile)
|
38
|
+
end
|
27
39
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
anchors_list = anchor_processor.process
|
40
|
+
# @return [Hash] a JSON of the address
|
41
|
+
def structured_postal_address
|
42
|
+
@user_profile['structured_postal_address']
|
43
|
+
end
|
33
44
|
|
34
|
-
|
35
|
-
|
36
|
-
|
45
|
+
# @return [Profile] of Yoti user
|
46
|
+
def profile
|
47
|
+
Yoti::Profile.new(@extended_profile)
|
48
|
+
end
|
37
49
|
|
50
|
+
protected
|
38
51
|
|
39
|
-
|
40
|
-
|
41
|
-
|
52
|
+
def process_decrypted_profile(decrypted_profile)
|
53
|
+
return nil unless decrypted_profile.is_a?(Object)
|
54
|
+
return nil unless decrypted_profile.respond_to?(:attributes)
|
42
55
|
|
43
|
-
|
56
|
+
decrypted_profile.attributes.each do |attribute|
|
57
|
+
begin
|
58
|
+
process_attribute(attribute)
|
59
|
+
process_age_verified(attribute)
|
60
|
+
rescue StandardError => e
|
61
|
+
Yoti::Log.logger.warn("#{e.message} (Attribute: #{attribute.name})")
|
44
62
|
end
|
45
63
|
end
|
46
|
-
|
47
|
-
@user_id = receipt['remember_me_id']
|
48
|
-
@outcome = receipt['sharing_outcome']
|
49
64
|
end
|
50
65
|
|
51
|
-
|
52
|
-
|
53
|
-
|
66
|
+
def process_attribute(attribute)
|
67
|
+
attr_value = Yoti::Protobuf.value_based_on_content_type(attribute.value, attribute.content_type)
|
68
|
+
attr_value = Yoti::Protobuf.value_based_on_attribute_name(attr_value, attribute.name)
|
69
|
+
|
70
|
+
# Handle selfies for backwards compatibility.
|
71
|
+
if attribute.name == Yoti::Attribute::SELFIE && attr_value.is_a?(Yoti::Image)
|
72
|
+
@base64_selfie_uri = attr_value.base64_content
|
73
|
+
attr_value = attr_value.content
|
74
|
+
end
|
75
|
+
|
76
|
+
anchors_list = Yoti::AnchorProcessor.new(attribute.anchors).process
|
77
|
+
@extended_profile[attribute.name] = Yoti::Attribute.new(attribute.name, attr_value, anchors_list['sources'], anchors_list['verifiers'])
|
78
|
+
@user_profile[attribute.name] = attr_value
|
54
79
|
end
|
55
80
|
|
56
|
-
|
57
|
-
|
58
|
-
return Yoti::Profile.new(@extended_profile)
|
81
|
+
def process_age_verified(attribute)
|
82
|
+
@age_verified = attribute.value == 'true' if Yoti::AgeProcessor.is_age_verification(attribute.name)
|
59
83
|
end
|
60
84
|
end
|
61
85
|
end
|
@@ -4,10 +4,10 @@ module Yoti
|
|
4
4
|
attr_reader :value, :sub_type, :signed_time_stamp, :origin_server_certs
|
5
5
|
|
6
6
|
def initialize(value, sub_type, signed_time_stamp, origin_server_certs)
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
@value = value
|
8
|
+
@sub_type = sub_type
|
9
|
+
@signed_time_stamp = signed_time_stamp
|
10
|
+
@origin_server_certs = origin_server_certs
|
11
11
|
end
|
12
12
|
end
|
13
|
-
end
|
13
|
+
end
|
@@ -1,25 +1,26 @@
|
|
1
1
|
module Yoti
|
2
2
|
# Encapsulates profile attribute
|
3
3
|
class Attribute
|
4
|
-
FAMILY_NAME = 'family_name'
|
5
|
-
GIVEN_NAMES = 'given_names'
|
6
|
-
FULL_NAME = 'full_name'
|
7
|
-
DATE_OF_BIRTH = 'date_of_birth'
|
8
|
-
GENDER = 'gender'
|
9
|
-
NATIONALITY = 'nationality'
|
10
|
-
PHONE_NUMBER = 'phone_number'
|
11
|
-
SELFIE = 'selfie'
|
12
|
-
EMAIL_ADDRESS = 'email_address'
|
13
|
-
POSTAL_ADDRESS = 'postal_address'
|
14
|
-
STRUCTURED_POSTAL_ADDRESS = 'structured_postal_address'
|
4
|
+
FAMILY_NAME = 'family_name'
|
5
|
+
GIVEN_NAMES = 'given_names'
|
6
|
+
FULL_NAME = 'full_name'
|
7
|
+
DATE_OF_BIRTH = 'date_of_birth'
|
8
|
+
GENDER = 'gender'
|
9
|
+
NATIONALITY = 'nationality'
|
10
|
+
PHONE_NUMBER = 'phone_number'
|
11
|
+
SELFIE = 'selfie'
|
12
|
+
EMAIL_ADDRESS = 'email_address'
|
13
|
+
POSTAL_ADDRESS = 'postal_address'
|
14
|
+
STRUCTURED_POSTAL_ADDRESS = 'structured_postal_address'
|
15
|
+
DOCUMENT_IMAGES = 'document_images'
|
15
16
|
|
16
17
|
attr_reader :name, :value, :sources, :verifiers
|
17
18
|
|
18
19
|
def initialize(name, value, sources, verifiers)
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
20
|
+
@name = name
|
21
|
+
@value = value
|
22
|
+
@sources = sources
|
23
|
+
@verifiers = verifiers
|
23
24
|
end
|
24
25
|
end
|
25
26
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'base64'
|
2
|
+
|
3
|
+
module Yoti
|
4
|
+
class Image
|
5
|
+
attr_reader :content
|
6
|
+
attr_reader :mime_type
|
7
|
+
|
8
|
+
def initialize(content, mime_type)
|
9
|
+
raise(TypeError, 'Image is an abstract class, so cannot be instantiated') if self.class == Yoti::Image
|
10
|
+
|
11
|
+
@content = content
|
12
|
+
@mime_type = mime_type
|
13
|
+
end
|
14
|
+
|
15
|
+
def base64_content
|
16
|
+
"data:#{mime_type};base64,#{Base64.strict_encode64(content)}"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Yoti
|
2
|
+
class MultiValue
|
3
|
+
def initialize(items)
|
4
|
+
raise(TypeError, "Arrays must be passed to #{self.class.name}") unless items.is_a?(Array)
|
5
|
+
|
6
|
+
@original_items = items
|
7
|
+
@items = items.dup
|
8
|
+
@filters = []
|
9
|
+
end
|
10
|
+
|
11
|
+
def allow_type(type)
|
12
|
+
filter { |value| value.is_a?(type) }
|
13
|
+
self
|
14
|
+
end
|
15
|
+
|
16
|
+
def filter(&callback)
|
17
|
+
@filters.push(callback)
|
18
|
+
apply_filters
|
19
|
+
self
|
20
|
+
end
|
21
|
+
|
22
|
+
def items
|
23
|
+
apply_filters
|
24
|
+
@items.clone.freeze
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def apply_filters
|
30
|
+
@items = @original_items.dup
|
31
|
+
|
32
|
+
if @filters.count.positive?
|
33
|
+
@items.keep_if do |item|
|
34
|
+
match = @filters.select { |callback| callback.call(item) }
|
35
|
+
match.count.positive?
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
@items.each do |item|
|
40
|
+
next unless item.is_a?(MultiValue)
|
41
|
+
|
42
|
+
@filters.each do |callback|
|
43
|
+
item.filter { |value| callback.call(value) }
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -1,77 +1,81 @@
|
|
1
1
|
module Yoti
|
2
2
|
# Encapsulates Yoti user profile
|
3
3
|
class Profile
|
4
|
-
|
5
4
|
def initialize(profile_data)
|
6
|
-
|
7
|
-
|
8
|
-
end
|
9
|
-
@profile_data = profile_data
|
5
|
+
profile_data = {} unless profile_data.is_a? Object
|
6
|
+
@profile_data = profile_data
|
10
7
|
end
|
11
8
|
|
12
9
|
def selfie
|
13
|
-
|
10
|
+
get_attribute(Yoti::Attribute::SELFIE)
|
14
11
|
end
|
15
12
|
|
16
13
|
def family_name
|
17
|
-
|
14
|
+
get_attribute(Yoti::Attribute::FAMILY_NAME)
|
18
15
|
end
|
19
16
|
|
20
17
|
def given_names
|
21
|
-
|
18
|
+
get_attribute(Yoti::Attribute::GIVEN_NAMES)
|
22
19
|
end
|
23
20
|
|
24
21
|
def full_name
|
25
|
-
|
22
|
+
get_attribute(Yoti::Attribute::FULL_NAME)
|
26
23
|
end
|
27
24
|
|
28
25
|
def phone_number
|
29
|
-
|
26
|
+
get_attribute(Yoti::Attribute::PHONE_NUMBER)
|
30
27
|
end
|
31
28
|
|
32
29
|
def email_address
|
33
|
-
|
30
|
+
get_attribute(Yoti::Attribute::EMAIL_ADDRESS)
|
34
31
|
end
|
35
32
|
|
36
33
|
def date_of_birth
|
37
|
-
|
34
|
+
get_attribute(Yoti::Attribute::DATE_OF_BIRTH)
|
38
35
|
end
|
39
36
|
|
40
37
|
def gender
|
41
|
-
|
38
|
+
get_attribute(Yoti::Attribute::GENDER)
|
42
39
|
end
|
43
40
|
|
44
41
|
def nationality
|
45
|
-
|
42
|
+
get_attribute(Yoti::Attribute::NATIONALITY)
|
43
|
+
end
|
44
|
+
|
45
|
+
def document_images
|
46
|
+
get_attribute(Yoti::Attribute::DOCUMENT_IMAGES)
|
46
47
|
end
|
47
48
|
|
48
49
|
def postal_address
|
49
|
-
|
50
|
+
postal_address = get_attribute(Yoti::Attribute::POSTAL_ADDRESS)
|
51
|
+
return postal_address unless postal_address.nil?
|
50
52
|
|
51
|
-
|
52
|
-
return get_formatted_address
|
53
|
+
attribute_from_formatted_address
|
53
54
|
end
|
54
55
|
|
55
56
|
def structured_postal_address
|
56
|
-
|
57
|
+
get_attribute(Yoti::Attribute::STRUCTURED_POSTAL_ADDRESS)
|
57
58
|
end
|
58
59
|
|
59
60
|
# @return attribute value by name
|
60
61
|
def get_attribute(attr_name)
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
return nil
|
62
|
+
return nil unless @profile_data.key? attr_name
|
63
|
+
|
64
|
+
@profile_data[attr_name]
|
65
65
|
end
|
66
66
|
|
67
67
|
protected
|
68
68
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
69
|
+
def attribute_from_formatted_address
|
70
|
+
return nil if structured_postal_address.nil?
|
71
|
+
return nil unless structured_postal_address.value.key?('formatted_address')
|
72
|
+
|
73
|
+
Yoti::Attribute.new(
|
74
|
+
Yoti::Attribute::POSTAL_ADDRESS,
|
75
|
+
structured_postal_address.value['formatted_address'],
|
76
|
+
structured_postal_address.sources,
|
77
|
+
structured_postal_address.verifiers
|
78
|
+
)
|
79
|
+
end
|
76
80
|
end
|
77
|
-
end
|
81
|
+
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
module Yoti
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
# Encapsulates anchor signed time stamp
|
3
|
+
class SignedTimeStamp
|
4
|
+
attr_reader :version, :time_stamp
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
end
|
6
|
+
def initialize(version, time_stamp)
|
7
|
+
@version = version
|
8
|
+
@time_stamp = time_stamp
|
10
9
|
end
|
10
|
+
end
|
11
11
|
end
|
data/lib/yoti/http/request.rb
CHANGED
@@ -26,6 +26,7 @@ module Yoti
|
|
26
26
|
end
|
27
27
|
|
28
28
|
raise RequestError, "Unsuccessful Yoti API call: #{res.message}" unless res.code == '200'
|
29
|
+
|
29
30
|
res.body
|
30
31
|
end
|
31
32
|
|
@@ -71,6 +72,7 @@ module Yoti
|
|
71
72
|
|
72
73
|
def token
|
73
74
|
return '' unless @encrypted_connect_token
|
75
|
+
|
74
76
|
Yoti::SSL.decrypt_token(@encrypted_connect_token)
|
75
77
|
end
|
76
78
|
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: Attribute.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'ContentType_pb'
|
7
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
8
|
+
add_message "attrpubapi_v1.Attribute" do
|
9
|
+
optional :name, :string, 1
|
10
|
+
optional :value, :bytes, 2
|
11
|
+
optional :content_type, :enum, 3, "attrpubapi_v1.ContentType"
|
12
|
+
repeated :anchors, :message, 4, "attrpubapi_v1.Anchor"
|
13
|
+
end
|
14
|
+
add_message "attrpubapi_v1.Anchor" do
|
15
|
+
optional :artifact_link, :bytes, 1
|
16
|
+
repeated :origin_server_certs, :bytes, 2
|
17
|
+
optional :artifact_signature, :bytes, 3
|
18
|
+
optional :sub_type, :string, 4
|
19
|
+
optional :signature, :bytes, 5
|
20
|
+
optional :signed_time_stamp, :bytes, 6
|
21
|
+
end
|
22
|
+
add_message "attrpubapi_v1.MultiValue" do
|
23
|
+
repeated :values, :message, 1, "attrpubapi_v1.MultiValue.Value"
|
24
|
+
end
|
25
|
+
add_message "attrpubapi_v1.MultiValue.Value" do
|
26
|
+
optional :content_type, :enum, 1, "attrpubapi_v1.ContentType"
|
27
|
+
optional :data, :bytes, 2
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
module Yoti
|
32
|
+
module Protobuf
|
33
|
+
module Attrpubapi
|
34
|
+
Attribute = Google::Protobuf::DescriptorPool.generated_pool.lookup("attrpubapi_v1.Attribute").msgclass
|
35
|
+
Anchor = Google::Protobuf::DescriptorPool.generated_pool.lookup("attrpubapi_v1.Anchor").msgclass
|
36
|
+
MultiValue = Google::Protobuf::DescriptorPool.generated_pool.lookup("attrpubapi_v1.MultiValue").msgclass
|
37
|
+
MultiValue::Value = Google::Protobuf::DescriptorPool.generated_pool.lookup("attrpubapi_v1.MultiValue.Value").msgclass
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: ContentType.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
+
add_enum "attrpubapi_v1.ContentType" do
|
8
|
+
value :UNDEFINED, 0
|
9
|
+
value :STRING, 1
|
10
|
+
value :JPEG, 2
|
11
|
+
value :DATE, 3
|
12
|
+
value :PNG, 4
|
13
|
+
value :JSON, 5
|
14
|
+
value :MULTI_VALUE, 6
|
15
|
+
value :INT, 7
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
module Yoti
|
20
|
+
module Protobuf
|
21
|
+
module Attrpubapi
|
22
|
+
ContentType = Google::Protobuf::DescriptorPool.generated_pool.lookup("attrpubapi_v1.ContentType").enummodule
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: List.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'Attribute_pb'
|
7
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
8
|
+
add_message "attrpubapi_v1.AttributeAndId" do
|
9
|
+
optional :attribute, :message, 1, "attrpubapi_v1.Attribute"
|
10
|
+
optional :attribute_id, :bytes, 2
|
11
|
+
end
|
12
|
+
add_message "attrpubapi_v1.AttributeAndIdList" do
|
13
|
+
repeated :attribute_and_id_list, :message, 1, "attrpubapi_v1.AttributeAndId"
|
14
|
+
end
|
15
|
+
add_message "attrpubapi_v1.AttributeList" do
|
16
|
+
repeated :attributes, :message, 1, "attrpubapi_v1.Attribute"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
module Yoti
|
21
|
+
module Protobuf
|
22
|
+
module Attrpubapi
|
23
|
+
AttributeAndId = Google::Protobuf::DescriptorPool.generated_pool.lookup("attrpubapi_v1.AttributeAndId").msgclass
|
24
|
+
AttributeAndIdList = Google::Protobuf::DescriptorPool.generated_pool.lookup("attrpubapi_v1.AttributeAndIdList").msgclass
|
25
|
+
AttributeList = Google::Protobuf::DescriptorPool.generated_pool.lookup("attrpubapi_v1.AttributeList").msgclass
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
-
# source:
|
2
|
+
# source: Signing.proto
|
3
3
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
|
-
|
6
|
+
require 'ContentType_pb'
|
7
7
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
8
|
-
add_message "
|
8
|
+
add_message "attrpubapi_v1.AttributeSigning" do
|
9
9
|
optional :name, :string, 1
|
10
10
|
optional :value, :bytes, 2
|
11
|
-
optional :content_type, :enum, 3, "
|
11
|
+
optional :content_type, :enum, 3, "attrpubapi_v1.ContentType"
|
12
12
|
optional :artifact_signature, :bytes, 4
|
13
13
|
optional :sub_type, :string, 5
|
14
14
|
optional :signed_time_stamp, :bytes, 6
|
@@ -17,8 +17,8 @@ end
|
|
17
17
|
|
18
18
|
module Yoti
|
19
19
|
module Protobuf
|
20
|
-
module
|
21
|
-
AttributeSigning = Google::Protobuf::DescriptorPool.generated_pool.lookup("
|
20
|
+
module Attrpubapi
|
21
|
+
AttributeSigning = Google::Protobuf::DescriptorPool.generated_pool.lookup("attrpubapi_v1.AttributeSigning").msgclass
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
-
# source:
|
2
|
+
# source: EncryptedData.proto
|
3
3
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
6
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
-
add_message "
|
7
|
+
add_message "compubapi_v1.EncryptedData" do
|
8
8
|
optional :iv, :bytes, 1
|
9
9
|
optional :cipher_text, :bytes, 2
|
10
10
|
end
|
@@ -12,8 +12,8 @@ end
|
|
12
12
|
|
13
13
|
module Yoti
|
14
14
|
module Protobuf
|
15
|
-
module
|
16
|
-
EncryptedData = Google::Protobuf::DescriptorPool.generated_pool.lookup("
|
15
|
+
module Compubapi
|
16
|
+
EncryptedData = Google::Protobuf::DescriptorPool.generated_pool.lookup("compubapi_v1.EncryptedData").msgclass
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
data/lib/yoti/protobuf/{v3/compubapi/signed_time_stamp_pb.rb → compubapi/SignedTimestamp_pb.rb}
RENAMED
@@ -1,10 +1,10 @@
|
|
1
1
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
-
# source:
|
2
|
+
# source: SignedTimestamp.proto
|
3
3
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
6
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
-
add_message "
|
7
|
+
add_message "compubapi_v1.SignedTimestamp" do
|
8
8
|
optional :version, :int32, 1
|
9
9
|
optional :timestamp, :uint64, 2
|
10
10
|
optional :message_digest, :bytes, 3
|
@@ -16,8 +16,8 @@ end
|
|
16
16
|
|
17
17
|
module Yoti
|
18
18
|
module Protobuf
|
19
|
-
module
|
20
|
-
SignedTimestamp = Google::Protobuf::DescriptorPool.generated_pool.lookup("
|
19
|
+
module Compubapi
|
20
|
+
SignedTimestamp = Google::Protobuf::DescriptorPool.generated_pool.lookup("compubapi_v1.SignedTimestamp").msgclass
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|