CreateSessionToken creates a new session token
(cfg *AuthTokenConfig)
| 170 | |
| 171 | // CreateSessionToken creates a new session token |
| 172 | func (p *provider) CreateSessionToken(cfg *AuthTokenConfig) (*SessionData, string, int64, error) { |
| 173 | expiresAt := time.Now().Add(24 * time.Hour).Unix() |
| 174 | fingerPrintMap := &SessionData{ |
| 175 | Nonce: cfg.Nonce, |
| 176 | Roles: cfg.Roles, |
| 177 | Subject: cfg.User.ID, |
| 178 | Scope: cfg.Scope, |
| 179 | LoginMethod: cfg.LoginMethod, |
| 180 | IssuedAt: time.Now().Unix(), |
| 181 | ExpiresAt: expiresAt, |
| 182 | } |
| 183 | fingerPrintBytes, _ := json.Marshal(fingerPrintMap) |
| 184 | fingerPrintHash, err := crypto.EncryptAES(p.config.ClientSecret, string(fingerPrintBytes)) |
| 185 | if err != nil { |
| 186 | return nil, "", 0, err |
| 187 | } |
| 188 | |
| 189 | return fingerPrintMap, fingerPrintHash, expiresAt, nil |
| 190 | } |
| 191 | |
| 192 | // CreateRefreshToken util to create JWT token |
| 193 | func (p *provider) CreateRefreshToken(cfg *AuthTokenConfig) (string, int64, error) { |
no test coverage detected