package orgsso

import (
	"sync"

	"github.com/tidbcloud/account/internel/svc/token"

	//"github.com/tidbcloud/account/internel/svc/token"

	"github.com/tidbcloud/account/commons/config"
	"github.com/tidbcloud/pkgv2/secret/encrypt"
	"github.com/tidbcloud/tiinf/monitor/tilog"
)

var (
	sessionInitOnce sync.Once
	sessionOJb      *token.Session
)

func GetSession() *token.Session {

	sessionInitOnce.Do(func() {
		serverConfig := config.Global().ServerConfig

		aesCrypt, err := encrypt.NewAESCrypt([]byte(serverConfig.SaltSecret))
		if err != nil {
			tilog.PlainInfo("create AESCrypt failed")
			return
		}
		sessionOJb = token.NewSession(aesCrypt)

	})
	return sessionOJb
}
