mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-20 06:47:31 +00:00
49 lines
876 B
Go
49 lines
876 B
Go
|
package model
|
||
|
|
||
|
type Request interface {
|
||
|
Type() AuthRequestType
|
||
|
IsValid() bool
|
||
|
}
|
||
|
|
||
|
type AuthRequestType int32
|
||
|
|
||
|
const (
|
||
|
AuthRequestTypeOIDC AuthRequestType = iota
|
||
|
AuthRequestTypeSAML
|
||
|
)
|
||
|
|
||
|
type AuthRequestOIDC struct {
|
||
|
Scopes []string
|
||
|
ResponseType OIDCResponseType
|
||
|
Nonce string
|
||
|
CodeChallenge *OIDCCodeChallenge
|
||
|
}
|
||
|
|
||
|
func (a *AuthRequestOIDC) Type() AuthRequestType {
|
||
|
return AuthRequestTypeOIDC
|
||
|
}
|
||
|
|
||
|
func (a *AuthRequestOIDC) IsValid() bool {
|
||
|
return len(a.Scopes) > 0 &&
|
||
|
a.CodeChallenge == nil || a.CodeChallenge != nil && a.CodeChallenge.IsValid()
|
||
|
}
|
||
|
|
||
|
type AuthRequestSAML struct {
|
||
|
}
|
||
|
|
||
|
func (a *AuthRequestSAML) Type() AuthRequestType {
|
||
|
return AuthRequestTypeSAML
|
||
|
}
|
||
|
|
||
|
func (a *AuthRequestSAML) IsValid() bool {
|
||
|
return true
|
||
|
}
|
||
|
|
||
|
type OIDCResponseType int32
|
||
|
|
||
|
const (
|
||
|
OIDCResponseTypeCode OIDCResponseType = iota
|
||
|
OIDCResponseTypeIdToken
|
||
|
OIDCResponseTypeToken
|
||
|
)
|