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
74 lines
1.7 KiB
Go
74 lines
1.7 KiB
Go
package model
|
|
|
|
import (
|
|
"github.com/zitadel/zitadel/internal/domain"
|
|
"github.com/zitadel/zitadel/internal/zerrors"
|
|
|
|
"time"
|
|
)
|
|
|
|
type RefreshTokenView struct {
|
|
ID string
|
|
CreationDate time.Time
|
|
ChangeDate time.Time
|
|
ResourceOwner string
|
|
UserID string
|
|
ClientID string
|
|
UserAgentID string
|
|
AuthMethodsReferences []string
|
|
Audience []string
|
|
AuthTime time.Time
|
|
IdleExpiration time.Time
|
|
Expiration time.Time
|
|
Scopes []string
|
|
Sequence uint64
|
|
Token string
|
|
Actor *domain.TokenActor
|
|
}
|
|
|
|
type RefreshTokenSearchRequest struct {
|
|
Offset uint64
|
|
Limit uint64
|
|
SortingColumn RefreshTokenSearchKey
|
|
Asc bool
|
|
Queries []*RefreshTokenSearchQuery
|
|
}
|
|
|
|
type RefreshTokenSearchKey int32
|
|
|
|
const (
|
|
RefreshTokenSearchKeyUnspecified RefreshTokenSearchKey = iota
|
|
RefreshTokenSearchKeyRefreshTokenID
|
|
RefreshTokenSearchKeyUserID
|
|
RefreshTokenSearchKeyApplicationID
|
|
RefreshTokenSearchKeyUserAgentID
|
|
RefreshTokenSearchKeyExpiration
|
|
RefreshTokenSearchKeyResourceOwner
|
|
RefreshTokenSearchKeyInstanceID
|
|
)
|
|
|
|
type RefreshTokenSearchQuery struct {
|
|
Key RefreshTokenSearchKey
|
|
Method domain.SearchMethod
|
|
Value interface{}
|
|
}
|
|
|
|
type RefreshTokenSearchResponse struct {
|
|
Offset uint64
|
|
Limit uint64
|
|
TotalResult uint64
|
|
Sequence uint64
|
|
Timestamp time.Time
|
|
Result []*RefreshTokenView
|
|
}
|
|
|
|
func (r *RefreshTokenSearchRequest) 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
|
|
}
|