Add tenancy to seen and otp services

This commit is contained in:
Asim Aslam
2021-05-02 18:11:22 +01:00
parent eb82bebd03
commit 5368aec8e4
4 changed files with 86 additions and 16 deletions

27
pkg/tenant/tenant.go Normal file
View File

@@ -0,0 +1,27 @@
// Package tenant provides multi-tenancy helpers
package tenant
import (
"context"
"fmt"
"github.com/micro/micro/v3/service/auth"
)
// FromContext returns a tenant from the context
func FromContext(ctx context.Context) (string, bool) {
acc, ok := auth.AccountFromContext(ctx)
if !ok {
return "", false
}
return FromAccount(acc), true
}
// FromAccount returns a tenant from
func FromAccount(acc *auth.Account) string {
owner := acc.Metadata["apikey_owner"]
if len(owner) == 0 {
owner = acc.ID
}
return fmt.Sprintf("%s/%s", acc.Issuer, owner)
}