soar-registry-identity 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -8
- data/lib/soar/registry/identity/provider/staff/base.rb +1 -1
- data/lib/soar/registry/identity/provider/staff/email.rb +1 -1
- data/lib/soar/registry/identity/test/fixtures/{entries.json → dynamodb.json} +0 -16
- data/lib/soar/registry/identity/test/fixtures/ldap.json +19 -0
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61e1631e0c686f692e76bcdcbb79b81e959650eb
|
4
|
+
data.tar.gz: bdbc70c78f68790210ce731a92c17832ad586a99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7143547d7152478e3b0659975cc0cacea568ec0e427946aeb481b433bbb5df093666d92848a987cc88d154561b667601547e6f88498b8d9199472ec63d857130
|
7
|
+
data.tar.gz: 535393b98c3092d75de8e32d2870c69c4c0965a8731a04e0d75d4c95cc84e29130b9ecd28d7df8e5280476e75807c72cdca7b23dbb857a72503148946d947f68
|
data/README.md
CHANGED
@@ -6,7 +6,6 @@
|
|
6
6
|
```javascript
|
7
7
|
"identities" = [{
|
8
8
|
"uuid": "identity-62936e70-1815-439b-bf89-8492855a7e6b",
|
9
|
-
"entity_id": "entity-2d931510-d99f-494a-8c67-87feb05e1594",
|
10
9
|
"email": "test+publisher@hetzner.co.za",
|
11
10
|
"roles": {
|
12
11
|
"staff": {
|
@@ -26,8 +25,7 @@ Create a directory provider
|
|
26
25
|
require 'soar/registry/directory'
|
27
26
|
directory_provider = Soar::Registry::Directory::Provider::Stub.new(
|
28
27
|
table: "identities",
|
29
|
-
|
30
|
-
index: ["uuid", "entity_id", "email"]
|
28
|
+
index: ["uuid", "email"]
|
31
29
|
)
|
32
30
|
```
|
33
31
|
|
@@ -37,7 +35,7 @@ directory = Soar::Registry::Directory.new(directory_provider)
|
|
37
35
|
```
|
38
36
|
|
39
37
|
### Staff UUID IDR
|
40
|
-
Search for
|
38
|
+
Search for roles, attributes or identifiers by UUID. Used by [policies](https://gitlab.host-h.net/policies) to determine authorization.
|
41
39
|
|
42
40
|
Create an identity provider.
|
43
41
|
```ruby
|
@@ -51,7 +49,7 @@ Create an IDR
|
|
51
49
|
```
|
52
50
|
|
53
51
|
### Staff Email IDR
|
54
|
-
Search for
|
52
|
+
Search for identifiers by email address. Used by [soar-authentication-identity](https://github.com/hetznerZA/soar-authentication-identity) to translate an authenticated identifier to an UUID.
|
55
53
|
```ruby
|
56
54
|
require 'soar/registry/identity'
|
57
55
|
identity_provider = Soar::Registry::Identity::Provider::Staff::Email.new(directory: directory)
|
@@ -72,7 +70,6 @@ identity_provider = Soar::Registry::Identity::Provider::Staff::Email.new(directo
|
|
72
70
|
### Getting a list of roles
|
73
71
|
```ruby
|
74
72
|
> roles = @id_idr.get_roles("identity-820d5660-2204-4f7d-8c04-746313439b81")
|
75
|
-
> roles = @email_idr.get_roles("admin@hetzner.co.za")
|
76
73
|
> puts roles.inspect
|
77
74
|
["staff", "configuration_publisher", "configuration_consumer"]
|
78
75
|
```
|
@@ -81,7 +78,6 @@ identity_provider = Soar::Registry::Identity::Provider::Staff::Email.new(directo
|
|
81
78
|
```ruby
|
82
79
|
> role = 'staff'
|
83
80
|
> attributes = @id_idr.get_attributes("identity-820d5660-2204-4f7d-8c04-746313439b81", role)
|
84
|
-
> attributes = @email_idr.get_attributes("admin@hetzner.co.za", role)
|
85
81
|
> puts attributes.inspect
|
86
82
|
{
|
87
83
|
"staff": {
|
@@ -94,7 +90,6 @@ identity_provider = Soar::Registry::Identity::Provider::Staff::Email.new(directo
|
|
94
90
|
### Getting a hash of all attributes
|
95
91
|
```ruby
|
96
92
|
> attributes = @id_idr.get_attributes("identity-820d5660-2204-4f7d-8c04-746313439b81")
|
97
|
-
> attributes = @email_idr.get_attributes("admin@hetzner.co.za")
|
98
93
|
> puts attributes.inspect
|
99
94
|
{
|
100
95
|
"identity_id" => "identity-820d5660-2204-4f7d-8c04-746313439b81",
|
@@ -12,7 +12,7 @@ module Soar
|
|
12
12
|
# @return [Hash] an identity
|
13
13
|
##
|
14
14
|
def calculate_identities(identifier)
|
15
|
-
entries = @directory.search(
|
15
|
+
entries = @directory.search(@directory.index[1], identifier )
|
16
16
|
return [@translator.get_identity(entries)[0]]
|
17
17
|
end
|
18
18
|
|
@@ -1,8 +1,6 @@
|
|
1
1
|
[
|
2
2
|
{
|
3
3
|
"uuid": "identity-62936e70-1815-439b-bf89-8492855a7e6b",
|
4
|
-
"entity_id": "entity-2d931510-d99f-494a-8c67-87feb05e1594",
|
5
|
-
"email": "test+publisher@hetzner.co.za",
|
6
4
|
"roles": {
|
7
5
|
"staff": {
|
8
6
|
"department": "technical"
|
@@ -14,8 +12,6 @@
|
|
14
12
|
},
|
15
13
|
{
|
16
14
|
"uuid": "identity-43353f18-8afe-11e6-ae22-56b6b6499611",
|
17
|
-
"entity_id": "entity-2d931510-d99f-494a-8c67-87feb05e1594",
|
18
|
-
"email": "test+consumer@hetzner.co.za",
|
19
15
|
"roles": {
|
20
16
|
"staff": {},
|
21
17
|
"configuration_consumer": {
|
@@ -26,8 +22,6 @@
|
|
26
22
|
},
|
27
23
|
{
|
28
24
|
"uuid": "identity-820d5660-2204-4f7d-8c04-746313439b81",
|
29
|
-
"entity_id": "entity-bad85eb9-0713-4da7-8d36-07a8e4b00eab",
|
30
|
-
"email": "admin@hetzner.co.za",
|
31
25
|
"roles": {
|
32
26
|
"staff": {},
|
33
27
|
"configuration_publisher": {
|
@@ -37,20 +31,10 @@
|
|
37
31
|
"configuration_identifiers": ["*"]
|
38
32
|
}
|
39
33
|
|
40
|
-
},
|
41
|
-
"address": {
|
42
|
-
"detail": "Belvedere Office Park, Unit F",
|
43
|
-
"street": "Bella Rosa Street",
|
44
|
-
"suburb": "Tygervalley",
|
45
|
-
"city": "Durbanville",
|
46
|
-
"postal": "7550"
|
47
34
|
}
|
48
35
|
},
|
49
36
|
{
|
50
37
|
"uuid": "identity-1ff472a6-8df3-4f13-82c3-89fde26db3cf",
|
51
|
-
"entity_id": "entity-bad85eb9-0713-4da7-8d36-07a8e4b00eab",
|
52
|
-
"email": "none@example.com",
|
53
|
-
"client_nr": "C123456789",
|
54
38
|
"roles": {
|
55
39
|
"customer": {},
|
56
40
|
"reseller": {}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"entryUUID": "identity-62936e70-1815-439b-bf89-8492855a7e6b",
|
4
|
+
"Email": "test+publisher@hetzner.co.za"
|
5
|
+
},
|
6
|
+
{
|
7
|
+
"entryUUID": "identity-43353f18-8afe-11e6-ae22-56b6b6499611",
|
8
|
+
"Email": "test+consumer@hetzner.co.za"
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"entryUUID": "identity-820d5660-2204-4f7d-8c04-746313439b81",
|
12
|
+
"Email": "admin@hetzner.co.za"
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"entryUUID": "identity-1ff472a6-8df3-4f13-82c3-89fde26db3cf",
|
16
|
+
"Email": "none@example.com"
|
17
|
+
}
|
18
|
+
]
|
19
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: soar-registry-identity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Charles Mulder
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.0.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 2.0.0
|
41
41
|
description: Registry of identities
|
42
42
|
email: charles.mulder@hetzner.co.za
|
43
43
|
executables: []
|
@@ -51,7 +51,8 @@ files:
|
|
51
51
|
- lib/soar/registry/identity/provider/staff/email.rb
|
52
52
|
- lib/soar/registry/identity/provider/staff/id.rb
|
53
53
|
- lib/soar/registry/identity/provider/staff/translator/default.rb
|
54
|
-
- lib/soar/registry/identity/test/fixtures/
|
54
|
+
- lib/soar/registry/identity/test/fixtures/dynamodb.json
|
55
|
+
- lib/soar/registry/identity/test/fixtures/ldap.json
|
55
56
|
homepage: https://gitlab.host-h.net/registries/identity
|
56
57
|
licenses:
|
57
58
|
- MIT
|