mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-25 17:17:56 +00:00
15fd3045e0
* feat: first implementation for saml sp * fix: add command side instance and org for saml provider * fix: add query side instance and org for saml provider * fix: request handling in event and retrieval of finished intent * fix: add review changes and integration tests * fix: add integration tests for saml idp * fix: correct unit tests with review changes * fix: add saml session unit test * fix: add saml session unit test * fix: add saml session unit test * fix: changes from review * fix: changes from review * fix: proto build error * fix: proto build error * fix: proto build error * fix: proto require metadata oneof * fix: login with saml provider * fix: integration test for saml assertion * lint client.go * fix json tag * fix: linting * fix import * fix: linting * fix saml idp query * fix: linting * lint: try all issues * revert linting config * fix: add regenerate endpoints * fix: translations * fix mk.yaml * ignore acs path for user agent cookie * fix: add AuthFromProvider test for saml * fix: integration test for saml retrieve information --------- Co-authored-by: Livio Spring <livio.a@gmail.com>
91 lines
2.2 KiB
Go
91 lines
2.2 KiB
Go
package saml
|
|
|
|
import (
|
|
"github.com/crewjam/saml"
|
|
"golang.org/x/text/language"
|
|
|
|
"github.com/zitadel/zitadel/internal/domain"
|
|
"github.com/zitadel/zitadel/internal/idp"
|
|
)
|
|
|
|
var _ idp.User = (*UserMapper)(nil)
|
|
|
|
// UserMapper is an implementation of [idp.User].
|
|
type UserMapper struct {
|
|
ID string `json:"id,omitempty"`
|
|
Attributes map[string][]string `json:"attributes,omitempty"`
|
|
}
|
|
|
|
func NewUser() *UserMapper {
|
|
return &UserMapper{Attributes: map[string][]string{}}
|
|
}
|
|
|
|
func (u *UserMapper) SetID(id *saml.NameID) {
|
|
u.ID = id.Value
|
|
}
|
|
|
|
// GetID is an implementation of the [idp.User] interface.
|
|
func (u *UserMapper) GetID() string {
|
|
return u.ID
|
|
}
|
|
|
|
// GetFirstName is an implementation of the [idp.User] interface.
|
|
func (u *UserMapper) GetFirstName() string {
|
|
return ""
|
|
}
|
|
|
|
// GetLastName is an implementation of the [idp.User] interface.
|
|
func (u *UserMapper) GetLastName() string {
|
|
return ""
|
|
}
|
|
|
|
// GetDisplayName is an implementation of the [idp.User] interface.
|
|
func (u *UserMapper) GetDisplayName() string {
|
|
return ""
|
|
}
|
|
|
|
// GetNickname is an implementation of the [idp.User] interface.
|
|
func (u *UserMapper) GetNickname() string {
|
|
return ""
|
|
}
|
|
|
|
// GetPreferredUsername is an implementation of the [idp.User] interface.
|
|
func (u *UserMapper) GetPreferredUsername() string {
|
|
return ""
|
|
}
|
|
|
|
// GetEmail is an implementation of the [idp.User] interface.
|
|
func (u *UserMapper) GetEmail() domain.EmailAddress {
|
|
return ""
|
|
}
|
|
|
|
// IsEmailVerified is an implementation of the [idp.User] interface.
|
|
func (u *UserMapper) IsEmailVerified() bool {
|
|
return false
|
|
}
|
|
|
|
// GetPhone is an implementation of the [idp.User] interface.
|
|
func (u *UserMapper) GetPhone() domain.PhoneNumber {
|
|
return ""
|
|
}
|
|
|
|
// IsPhoneVerified is an implementation of the [idp.User] interface.
|
|
func (u *UserMapper) IsPhoneVerified() bool {
|
|
return false
|
|
}
|
|
|
|
// GetPreferredLanguage is an implementation of the [idp.User] interface.
|
|
func (u *UserMapper) GetPreferredLanguage() language.Tag {
|
|
return language.Und
|
|
}
|
|
|
|
// GetAvatarURL is an implementation of the [idp.User] interface.
|
|
func (u *UserMapper) GetAvatarURL() string {
|
|
return ""
|
|
}
|
|
|
|
// GetProfile is an implementation of the [idp.User] interface.
|
|
func (u *UserMapper) GetProfile() string {
|
|
return ""
|
|
}
|