forked from amenzhinsky/iothub
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcredentials.go
130 lines (103 loc) · 3.04 KB
/
credentials.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package iotdevice
import (
"crypto/tls"
"errors"
"time"
"gitlab.com/michaeljohn/iothub/common"
)
type X509Credentials struct {
HostName string
DeviceID string
Certificate *tls.Certificate
}
func (c *X509Credentials) GetDeviceID() string {
return c.DeviceID
}
func (c *X509Credentials) GetHostName() string {
return c.HostName
}
func (c *X509Credentials) GetCertificate() *tls.Certificate {
return c.Certificate
}
func (c *X509Credentials) Token(
resource string, lifetime time.Duration,
) (*common.SharedAccessSignature, error) {
return nil, errors.New("cannot generate SAS tokens with x509 credentials")
}
type SharedAccessKeyCredentials struct {
DeviceID string
common.SharedAccessKey
}
func (c *SharedAccessKeyCredentials) GetDeviceID() string {
return c.DeviceID
}
func (c *SharedAccessKeyCredentials) GetHostName() string {
return c.SharedAccessKey.HostName
}
// NOT IMPLEMENTED
// GetCertificate not implemented for SharedAccessKeyCredentials
func (c *SharedAccessKeyCredentials) GetCertificate() *tls.Certificate {
return nil
}
// GetModuleID not implemented for SharedAccessKeyCredentials
func (c *SharedAccessKeyCredentials) GetModuleID() string {
return ""
}
// GetGenerationID not implemented for SharedAccessKeyCredentials
func (c *SharedAccessKeyCredentials) GetGenerationID() string {
return ""
}
// GetGateway not implemented for SharedAccessKeyCredentials
func (c *SharedAccessKeyCredentials) GetGateway() string {
return ""
}
// GetBroker not implemented for SharedAccessKeyCredentials
func (c *SharedAccessKeyCredentials) GetBroker() string {
return ""
}
// GetWorkloadURI not implemented for SharedAccessKeyCredentials
func (c *SharedAccessKeyCredentials) GetWorkloadURI() string {
return ""
}
// UseEdgeGateway not implemented for SharedAccessKeyCredentials
func (c *SharedAccessKeyCredentials) UseEdgeGateway() bool {
return false
}
// GetSAK not implemented for SharedAccessKeyCredentials
func (c *SharedAccessKeyCredentials) GetSAK() string {
return ""
}
// GetSAK not implemented for X509Credentials
func (c *X509Credentials) GetSAK() string {
return ""
}
// TokenFromEdge not implemented for X509Credentials
func (c *X509Credentials) TokenFromEdge(
workloadURI, module, genid, resource string, lifetime time.Duration,
) (*common.SharedAccessSignature, error) {
return nil, errors.New("cannot generate SAS tokens with x509 credentials")
}
// GetModuleID not implemented for X509Credentials
func (c *X509Credentials) GetModuleID() string {
return ""
}
// GetGenerationID not implemented for X509Credentials
func (c *X509Credentials) GetGenerationID() string {
return ""
}
// GetGateway not implemented for X509Credentials
func (c *X509Credentials) GetGateway() string {
return ""
}
// GetBroker not implemented for X509Credentials
func (c *X509Credentials) GetBroker() string {
return ""
}
// GetWorkloadURI not implemented for X509Credentials
func (c *X509Credentials) GetWorkloadURI() string {
return ""
}
// UseEdgeGateway not implemented for X509Credentials
func (c *X509Credentials) UseEdgeGateway() bool {
return false
}