mirror of
https://github.com/mainflux/mainflux.git
synced 2025-04-29 13:49:28 +08:00
26 lines
764 B
Go
26 lines
764 B
Go
![]() |
package manager
|
||
|
|
||
|
// Hasher specifies an API for generating hashes of an arbitrary textual
|
||
|
// content.
|
||
|
type Hasher interface {
|
||
|
// Hash generates the hashed string from plain-text.
|
||
|
Hash(string) (string, error)
|
||
|
|
||
|
// Compare compares plain-text version to the hashed one. An error should
|
||
|
// indicate failed comparison.
|
||
|
Compare(string, string) error
|
||
|
}
|
||
|
|
||
|
// IdentityProvider specifies an API for identity management via security
|
||
|
// tokens.
|
||
|
type IdentityProvider interface {
|
||
|
// TemporaryKey generates the temporary access token.
|
||
|
TemporaryKey(string) (string, error)
|
||
|
|
||
|
// PermanentKey generates the non-expiring access token.
|
||
|
PermanentKey(string) (string, error)
|
||
|
|
||
|
// Identity extracts the entity identifier given its secret key.
|
||
|
Identity(string) (string, error)
|
||
|
}
|