mirror of
https://github.com/mainflux/mainflux.git
synced 2025-05-01 13:48:56 +08:00
33 lines
678 B
Go
33 lines
678 B
Go
![]() |
// Copyright (c) Mainflux
|
||
|
// SPDX-License-Identifier: Apache-2.0
|
||
|
|
||
|
package mocks
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"sync"
|
||
|
|
||
|
"github.com/mainflux/mainflux/authn"
|
||
|
)
|
||
|
|
||
|
var _ authn.IdentityProvider = (*identityProviderMock)(nil)
|
||
|
|
||
|
type identityProviderMock struct {
|
||
|
mu sync.Mutex
|
||
|
counter int
|
||
|
}
|
||
|
|
||
|
func (idp *identityProviderMock) ID() (string, error) {
|
||
|
idp.mu.Lock()
|
||
|
defer idp.mu.Unlock()
|
||
|
|
||
|
idp.counter++
|
||
|
return fmt.Sprintf("%s%012d", "123e4567-e89b-12d3-a456-", idp.counter), nil
|
||
|
}
|
||
|
|
||
|
// NewIdentityProvider creates "mirror" identity provider, i.e. generated
|
||
|
// token will hold value provided by the caller.
|
||
|
func NewIdentityProvider() authn.IdentityProvider {
|
||
|
return &identityProviderMock{}
|
||
|
}
|