mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-13 03:24:26 +00:00
6398349c24
* add token exchange feature flag * allow setting reason and actor to access tokens * impersonation * set token types and scopes in response * upgrade oidc to working draft state * fix tests * audience and scope validation * id toke and jwt as input * return id tokens * add grant type token exchange to app config * add integration tests * check and deny actors in api calls * fix instance setting tests by triggering projection on write and cleanup * insert sleep statements again * solve linting issues * add translations * pin oidc v3.15.0 * resolve comments, add event translation * fix refreshtoken test * use ValidateAuthReqScopes from oidc * apparently the linter can't make up its mind * persist actor thru refresh tokens and check in tests * remove unneeded triggers
73 lines
1.5 KiB
Go
73 lines
1.5 KiB
Go
package model
|
|
|
|
import (
|
|
"github.com/zitadel/zitadel/internal/domain"
|
|
"github.com/zitadel/zitadel/internal/zerrors"
|
|
|
|
"time"
|
|
)
|
|
|
|
type TokenView struct {
|
|
ID string
|
|
CreationDate time.Time
|
|
ChangeDate time.Time
|
|
ResourceOwner string
|
|
UserID string
|
|
ApplicationID string
|
|
UserAgentID string
|
|
Audience []string
|
|
Expiration time.Time
|
|
Scopes []string
|
|
Sequence uint64
|
|
PreferredLanguage string
|
|
RefreshTokenID string
|
|
IsPAT bool
|
|
Reason domain.TokenReason
|
|
Actor *domain.TokenActor
|
|
}
|
|
|
|
type TokenSearchRequest struct {
|
|
Offset uint64
|
|
Limit uint64
|
|
SortingColumn TokenSearchKey
|
|
Asc bool
|
|
Queries []*TokenSearchQuery
|
|
}
|
|
|
|
type TokenSearchKey int32
|
|
|
|
const (
|
|
TokenSearchKeyUnspecified TokenSearchKey = iota
|
|
TokenSearchKeyTokenID
|
|
TokenSearchKeyUserID
|
|
TokenSearchKeyRefreshTokenID
|
|
TokenSearchKeyApplicationID
|
|
TokenSearchKeyUserAgentID
|
|
TokenSearchKeyExpiration
|
|
TokenSearchKeyResourceOwner
|
|
TokenSearchKeyInstanceID
|
|
)
|
|
|
|
type TokenSearchQuery struct {
|
|
Key TokenSearchKey
|
|
Method domain.SearchMethod
|
|
Value interface{}
|
|
}
|
|
|
|
type TokenSearchResponse struct {
|
|
Offset uint64
|
|
Limit uint64
|
|
TotalResult uint64
|
|
Result []*Token
|
|
}
|
|
|
|
func (r *TokenSearchRequest) EnsureLimit(limit uint64) error {
|
|
if r.Limit > limit {
|
|
return zerrors.ThrowInvalidArgument(nil, "SEARCH-M0fse", "Errors.Limit.ExceedsDefault")
|
|
}
|
|
if r.Limit == 0 {
|
|
r.Limit = limit
|
|
}
|
|
return nil
|
|
}
|