// RegisterAuth is used to take an Auth response with an associated lease. // The token does not get a LeaseID, but the lease management is handled by // the expiration manager. func (m *ExpirationManager) RegisterAuth(source string, auth *logical.Auth) error { defer metrics.MeasureSince([]string{"expire", "register-auth"}, time.Now()) // Setup some of the fields on auth auth.LeaseIssue = time.Now().UTC() // Create a lease entry le := leaseEntry{ LeaseID: path.Join(source, m.tokenStore.SaltID(auth.ClientToken)), ClientToken: auth.ClientToken, Auth: auth, Path: source, IssueTime: auth.LeaseIssue, ExpireTime: auth.ExpirationTime(), } // Encode the entry if err := m.persistEntry(&le); err != nil { return err } // Setup revocation timer m.updatePending(&le, auth.LeaseTotal()) return nil }