mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 03:57:32 +00:00
feat: OIDC setting (#3245)
* feat: add oidc config struct * feat: oidc config command side * feat: oidc configuration query side * feat: add translations * feat: add tests * feat: add translations * feat: rename oidc config to oidc settings * feat: rename oidc config to oidc settings
This commit is contained in:
29
internal/api/grpc/admin/oidc_settings.go
Normal file
29
internal/api/grpc/admin/oidc_settings.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/caos/zitadel/internal/api/grpc/object"
|
||||
"github.com/caos/zitadel/internal/domain"
|
||||
admin_pb "github.com/caos/zitadel/pkg/grpc/admin"
|
||||
)
|
||||
|
||||
func (s *Server) GetOIDCSettings(ctx context.Context, _ *admin_pb.GetOIDCSettingsRequest) (*admin_pb.GetOIDCSettingsResponse, error) {
|
||||
result, err := s.query.OIDCSettingsByAggID(ctx, domain.IAMID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &admin_pb.GetOIDCSettingsResponse{
|
||||
Settings: OIDCSettingsToPb(result),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *Server) UpdateOIDCSettings(ctx context.Context, req *admin_pb.UpdateOIDCSettingsRequest) (*admin_pb.UpdateOIDCSettingsResponse, error) {
|
||||
result, err := s.command.ChangeOIDCSettings(ctx, UpdateOIDCConfigToConfig(req))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &admin_pb.UpdateOIDCSettingsResponse{
|
||||
Details: object.DomainToChangeDetailsPb(result),
|
||||
}, nil
|
||||
}
|
29
internal/api/grpc/admin/oidc_settings_converter.go
Normal file
29
internal/api/grpc/admin/oidc_settings_converter.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
obj_grpc "github.com/caos/zitadel/internal/api/grpc/object"
|
||||
"github.com/caos/zitadel/internal/domain"
|
||||
"github.com/caos/zitadel/internal/query"
|
||||
admin_pb "github.com/caos/zitadel/pkg/grpc/admin"
|
||||
settings_pb "github.com/caos/zitadel/pkg/grpc/settings"
|
||||
"google.golang.org/protobuf/types/known/durationpb"
|
||||
)
|
||||
|
||||
func OIDCSettingsToPb(config *query.OIDCSettings) *settings_pb.OIDCSettings {
|
||||
return &settings_pb.OIDCSettings{
|
||||
Details: obj_grpc.ToViewDetailsPb(config.Sequence, config.CreationDate, config.ChangeDate, config.AggregateID),
|
||||
AccessTokenLifetime: durationpb.New(config.AccessTokenLifetime),
|
||||
IdTokenLifetime: durationpb.New(config.IdTokenLifetime),
|
||||
RefreshTokenIdleExpiration: durationpb.New(config.RefreshTokenIdleExpiration),
|
||||
RefreshTokenExpiration: durationpb.New(config.RefreshTokenExpiration),
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateOIDCConfigToConfig(req *admin_pb.UpdateOIDCSettingsRequest) *domain.OIDCSettings {
|
||||
return &domain.OIDCSettings{
|
||||
AccessTokenLifetime: req.AccessTokenLifetime.AsDuration(),
|
||||
IdTokenLifetime: req.IdTokenLifetime.AsDuration(),
|
||||
RefreshTokenIdleExpiration: req.RefreshTokenIdleExpiration.AsDuration(),
|
||||
RefreshTokenExpiration: req.RefreshTokenExpiration.AsDuration(),
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user