2020-08-26 09:56:23 +02:00
|
|
|
package management
|
|
|
|
|
|
|
|
import (
|
2021-01-18 11:24:15 +01:00
|
|
|
"context"
|
|
|
|
|
feat: policies on aggregates (#799)
* feat: move pw policy
* feat: default pw complexity policy
* fix: org password complexity policy
* fix: org password complexity policy
* fix: pw complexity policy with setup
* fix: age and lockout policies on aggregates
* fix: migration
* fix: org iam policy
* fix: org iam policy
* fix: org iam policy
* fix: tests
* fix: policy request
* fix: merge master
* fix(console): policies frontend (#817)
* fix policy build
* fix: age, complexity, lockout policies
* fix: ready return err of setup not done
* fix: fix remove policies in spoolers
* fix: fix remove policies in spoolers
* feat(console): policy settings for iam and org (#824)
* fix policy build
* fix: age, complexity, lockout policies
* fix pwd complexity
* policy remove action
* add imports
* fix accounts card, enable mgmt login policy
* lint
* add iam policy to admin
* toasts, i18n, show default
* routing, i18n
* reset policy, toast i18n, cleanup, routing
* policy delete permission
* lint style
* delete iam policy
* delete non project from grid list, i18n
* lint ts, style
* fix: remove instead delete
* feat(console): delete external idp from user (#835)
* dialog i18n, delete column and function
* dialog i18n
* fix rm button
* Update console/src/assets/i18n/de.json
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
* Update console/src/assets/i18n/de.json
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
* fix: revert env, rename policy, remove comments
* fix: lowercase sich
* fix: pr requests
* Update internal/iam/repository/eventsourcing/eventstore_test.go
Co-authored-by: Silvan <silvan.reusser@gmail.com>
* fix: tests
* fix: tests
* fix(console): policies (#839)
* fix: nil pointer on get userdata (#815)
* fix: external login (#818)
* fix: external login
* fix: external login
* feat(console): delete user (#819)
* add action col to user table, i18n
* delete user from detail component
* lint
* fix(console): cleanup user detail and member components, user/me redirect, permission guards, filter, org policy guard, user table, scss cleanup (#808)
* fix: remove user.write guard for filtering
* border color
* fix user routing from member tables
* idp detail layout
* generic contact component
* fix redirect to auth user, user grant disable
* disable policy action without permission, i18n
* user-create flex fix, contact ng-content
* rm unused styles
* sidenav divider
* lint
* chore(deps-dev): bump @angular/cli from 10.1.3 to 10.1.4 in /console (#806)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps-dev): bump @angular/cli from 10.1.3 to 10.1.4 in /console
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 10.1.3 to 10.1.4.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/compare/v10.1.3...v10.1.4)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/language-service from 10.1.3 to 10.1.4 in /console (#805)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps-dev): bump @angular/language-service in /console
Bumps [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) from 10.1.3 to 10.1.4.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/10.1.4/packages/language-service)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump codelyzer from 6.0.0 to 6.0.1 in /console (#804)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps-dev): bump codelyzer from 6.0.0 to 6.0.1 in /console
Bumps [codelyzer](https://github.com/mgechev/codelyzer) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/mgechev/codelyzer/releases)
- [Changelog](https://github.com/mgechev/codelyzer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mgechev/codelyzer/commits/6.0.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular-devkit/build-angular from 0.1000.8 to 0.1001.4 in /console (#803)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps-dev): bump @angular-devkit/build-angular in /console
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 0.1000.8 to 0.1001.4.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/commits)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Peintner <max@caos.ch>
* chore(deps): bump uuid from 8.3.0 to 8.3.1 in /console (#802)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps): bump uuid from 8.3.0 to 8.3.1 in /console
Bumps [uuid](https://github.com/uuidjs/uuid) from 8.3.0 to 8.3.1.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v8.3.0...v8.3.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* create memberstable as common component
* iam member cleanup
* iam + org m table, user table service user avatar
* toast config
* fix selection emitter
* fix project grant table width
* project grant members refactor
* theme optimizations
* member table col delete
* lint
* fix table row color
* refactor grey color
* lint scss
* org list redirect on click, fix user table undef
* refresh table after grant add
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
* fix(console): intercept navigator.language, set browser lang as default for user without explicit setting, user table outline, member create dialog import (#820)
* i18n interceptor, set language to browser lang
* nullcheck
* rm external idp log
* fix module imports, rm user displayname from i18n
* Update console/src/assets/i18n/de.json
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
* fix: delete external idps from users (#822)
* fix(console): permission regex, account switcher null check, restrict app and member create access (#821)
* fix member table disable, gerneal regexp
* fix user session card, app disable
* memberships max count
* fix policy permissions
* permission check for member add dialog
* lint
* rm accounts log
* rm id regex
* fix: handle usermemberships on project and project grant delete (#825)
* fix: go handler
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
* fix: tests
* fix: not needed error handling
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: Silvan <silvan.reusser@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
2020-10-15 10:27:13 +02:00
|
|
|
"github.com/caos/logging"
|
2021-01-18 11:24:15 +01:00
|
|
|
"github.com/golang/protobuf/ptypes"
|
|
|
|
"google.golang.org/protobuf/types/known/timestamppb"
|
|
|
|
|
|
|
|
"github.com/caos/zitadel/internal/api/authz"
|
|
|
|
"github.com/caos/zitadel/internal/eventstore/models"
|
2020-08-26 09:56:23 +02:00
|
|
|
iam_model "github.com/caos/zitadel/internal/iam/model"
|
2021-01-18 11:24:15 +01:00
|
|
|
"github.com/caos/zitadel/internal/v2/domain"
|
2020-08-26 09:56:23 +02:00
|
|
|
"github.com/caos/zitadel/pkg/grpc/management"
|
|
|
|
)
|
|
|
|
|
2021-01-18 11:24:15 +01:00
|
|
|
func loginPolicyRequestToDomain(ctx context.Context, policy *management.LoginPolicyRequest) *domain.LoginPolicy {
|
|
|
|
return &domain.LoginPolicy{
|
|
|
|
ObjectRoot: models.ObjectRoot{
|
|
|
|
AggregateID: authz.GetCtxData(ctx).OrgID,
|
|
|
|
},
|
2020-08-26 09:56:23 +02:00
|
|
|
AllowUsernamePassword: policy.AllowUsernamePassword,
|
|
|
|
AllowExternalIdp: policy.AllowExternalIdp,
|
|
|
|
AllowRegister: policy.AllowRegister,
|
2020-11-04 11:26:10 +01:00
|
|
|
ForceMFA: policy.ForceMfa,
|
2021-01-18 11:24:15 +01:00
|
|
|
PasswordlessType: passwordlessTypeToDomain(policy.PasswordlessType),
|
2020-08-26 09:56:23 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-18 11:24:15 +01:00
|
|
|
func loginPolicyFromDomain(policy *domain.LoginPolicy) *management.LoginPolicy {
|
2020-08-26 09:56:23 +02:00
|
|
|
return &management.LoginPolicy{
|
|
|
|
AllowUsernamePassword: policy.AllowUsernamePassword,
|
|
|
|
AllowExternalIdp: policy.AllowExternalIdp,
|
|
|
|
AllowRegister: policy.AllowRegister,
|
2021-01-18 11:24:15 +01:00
|
|
|
ChangeDate: timestamppb.New(policy.ChangeDate),
|
2020-11-04 11:26:10 +01:00
|
|
|
ForceMfa: policy.ForceMFA,
|
2021-01-18 11:24:15 +01:00
|
|
|
PasswordlessType: passwordlessTypeFromDomain(policy.PasswordlessType),
|
2020-08-26 09:56:23 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func loginPolicyViewFromModel(policy *iam_model.LoginPolicyView) *management.LoginPolicyView {
|
feat: policies on aggregates (#799)
* feat: move pw policy
* feat: default pw complexity policy
* fix: org password complexity policy
* fix: org password complexity policy
* fix: pw complexity policy with setup
* fix: age and lockout policies on aggregates
* fix: migration
* fix: org iam policy
* fix: org iam policy
* fix: org iam policy
* fix: tests
* fix: policy request
* fix: merge master
* fix(console): policies frontend (#817)
* fix policy build
* fix: age, complexity, lockout policies
* fix: ready return err of setup not done
* fix: fix remove policies in spoolers
* fix: fix remove policies in spoolers
* feat(console): policy settings for iam and org (#824)
* fix policy build
* fix: age, complexity, lockout policies
* fix pwd complexity
* policy remove action
* add imports
* fix accounts card, enable mgmt login policy
* lint
* add iam policy to admin
* toasts, i18n, show default
* routing, i18n
* reset policy, toast i18n, cleanup, routing
* policy delete permission
* lint style
* delete iam policy
* delete non project from grid list, i18n
* lint ts, style
* fix: remove instead delete
* feat(console): delete external idp from user (#835)
* dialog i18n, delete column and function
* dialog i18n
* fix rm button
* Update console/src/assets/i18n/de.json
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
* Update console/src/assets/i18n/de.json
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
* fix: revert env, rename policy, remove comments
* fix: lowercase sich
* fix: pr requests
* Update internal/iam/repository/eventsourcing/eventstore_test.go
Co-authored-by: Silvan <silvan.reusser@gmail.com>
* fix: tests
* fix: tests
* fix(console): policies (#839)
* fix: nil pointer on get userdata (#815)
* fix: external login (#818)
* fix: external login
* fix: external login
* feat(console): delete user (#819)
* add action col to user table, i18n
* delete user from detail component
* lint
* fix(console): cleanup user detail and member components, user/me redirect, permission guards, filter, org policy guard, user table, scss cleanup (#808)
* fix: remove user.write guard for filtering
* border color
* fix user routing from member tables
* idp detail layout
* generic contact component
* fix redirect to auth user, user grant disable
* disable policy action without permission, i18n
* user-create flex fix, contact ng-content
* rm unused styles
* sidenav divider
* lint
* chore(deps-dev): bump @angular/cli from 10.1.3 to 10.1.4 in /console (#806)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps-dev): bump @angular/cli from 10.1.3 to 10.1.4 in /console
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 10.1.3 to 10.1.4.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/compare/v10.1.3...v10.1.4)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/language-service from 10.1.3 to 10.1.4 in /console (#805)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps-dev): bump @angular/language-service in /console
Bumps [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) from 10.1.3 to 10.1.4.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/10.1.4/packages/language-service)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump codelyzer from 6.0.0 to 6.0.1 in /console (#804)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps-dev): bump codelyzer from 6.0.0 to 6.0.1 in /console
Bumps [codelyzer](https://github.com/mgechev/codelyzer) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/mgechev/codelyzer/releases)
- [Changelog](https://github.com/mgechev/codelyzer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mgechev/codelyzer/commits/6.0.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular-devkit/build-angular from 0.1000.8 to 0.1001.4 in /console (#803)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps-dev): bump @angular-devkit/build-angular in /console
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 0.1000.8 to 0.1001.4.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/commits)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Peintner <max@caos.ch>
* chore(deps): bump uuid from 8.3.0 to 8.3.1 in /console (#802)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps): bump uuid from 8.3.0 to 8.3.1 in /console
Bumps [uuid](https://github.com/uuidjs/uuid) from 8.3.0 to 8.3.1.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v8.3.0...v8.3.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* create memberstable as common component
* iam member cleanup
* iam + org m table, user table service user avatar
* toast config
* fix selection emitter
* fix project grant table width
* project grant members refactor
* theme optimizations
* member table col delete
* lint
* fix table row color
* refactor grey color
* lint scss
* org list redirect on click, fix user table undef
* refresh table after grant add
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
* fix(console): intercept navigator.language, set browser lang as default for user without explicit setting, user table outline, member create dialog import (#820)
* i18n interceptor, set language to browser lang
* nullcheck
* rm external idp log
* fix module imports, rm user displayname from i18n
* Update console/src/assets/i18n/de.json
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
* fix: delete external idps from users (#822)
* fix(console): permission regex, account switcher null check, restrict app and member create access (#821)
* fix member table disable, gerneal regexp
* fix user session card, app disable
* memberships max count
* fix policy permissions
* permission check for member add dialog
* lint
* rm accounts log
* rm id regex
* fix: handle usermemberships on project and project grant delete (#825)
* fix: go handler
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
* fix: tests
* fix: not needed error handling
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: Silvan <silvan.reusser@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
2020-10-15 10:27:13 +02:00
|
|
|
creationDate, err := ptypes.TimestampProto(policy.CreationDate)
|
|
|
|
logging.Log("GRPC-5Tsm8").OnError(err).Debug("date parse failed")
|
|
|
|
|
|
|
|
changeDate, err := ptypes.TimestampProto(policy.ChangeDate)
|
|
|
|
logging.Log("GRPC-8dJgs").OnError(err).Debug("date parse failed")
|
|
|
|
|
2020-08-26 09:56:23 +02:00
|
|
|
return &management.LoginPolicyView{
|
|
|
|
Default: policy.Default,
|
|
|
|
AllowUsernamePassword: policy.AllowUsernamePassword,
|
|
|
|
AllowExternalIdp: policy.AllowExternalIDP,
|
|
|
|
AllowRegister: policy.AllowRegister,
|
feat: policies on aggregates (#799)
* feat: move pw policy
* feat: default pw complexity policy
* fix: org password complexity policy
* fix: org password complexity policy
* fix: pw complexity policy with setup
* fix: age and lockout policies on aggregates
* fix: migration
* fix: org iam policy
* fix: org iam policy
* fix: org iam policy
* fix: tests
* fix: policy request
* fix: merge master
* fix(console): policies frontend (#817)
* fix policy build
* fix: age, complexity, lockout policies
* fix: ready return err of setup not done
* fix: fix remove policies in spoolers
* fix: fix remove policies in spoolers
* feat(console): policy settings for iam and org (#824)
* fix policy build
* fix: age, complexity, lockout policies
* fix pwd complexity
* policy remove action
* add imports
* fix accounts card, enable mgmt login policy
* lint
* add iam policy to admin
* toasts, i18n, show default
* routing, i18n
* reset policy, toast i18n, cleanup, routing
* policy delete permission
* lint style
* delete iam policy
* delete non project from grid list, i18n
* lint ts, style
* fix: remove instead delete
* feat(console): delete external idp from user (#835)
* dialog i18n, delete column and function
* dialog i18n
* fix rm button
* Update console/src/assets/i18n/de.json
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
* Update console/src/assets/i18n/de.json
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
* fix: revert env, rename policy, remove comments
* fix: lowercase sich
* fix: pr requests
* Update internal/iam/repository/eventsourcing/eventstore_test.go
Co-authored-by: Silvan <silvan.reusser@gmail.com>
* fix: tests
* fix: tests
* fix(console): policies (#839)
* fix: nil pointer on get userdata (#815)
* fix: external login (#818)
* fix: external login
* fix: external login
* feat(console): delete user (#819)
* add action col to user table, i18n
* delete user from detail component
* lint
* fix(console): cleanup user detail and member components, user/me redirect, permission guards, filter, org policy guard, user table, scss cleanup (#808)
* fix: remove user.write guard for filtering
* border color
* fix user routing from member tables
* idp detail layout
* generic contact component
* fix redirect to auth user, user grant disable
* disable policy action without permission, i18n
* user-create flex fix, contact ng-content
* rm unused styles
* sidenav divider
* lint
* chore(deps-dev): bump @angular/cli from 10.1.3 to 10.1.4 in /console (#806)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps-dev): bump @angular/cli from 10.1.3 to 10.1.4 in /console
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 10.1.3 to 10.1.4.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/compare/v10.1.3...v10.1.4)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/language-service from 10.1.3 to 10.1.4 in /console (#805)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps-dev): bump @angular/language-service in /console
Bumps [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) from 10.1.3 to 10.1.4.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/10.1.4/packages/language-service)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump codelyzer from 6.0.0 to 6.0.1 in /console (#804)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps-dev): bump codelyzer from 6.0.0 to 6.0.1 in /console
Bumps [codelyzer](https://github.com/mgechev/codelyzer) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/mgechev/codelyzer/releases)
- [Changelog](https://github.com/mgechev/codelyzer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mgechev/codelyzer/commits/6.0.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular-devkit/build-angular from 0.1000.8 to 0.1001.4 in /console (#803)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps-dev): bump @angular-devkit/build-angular in /console
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 0.1000.8 to 0.1001.4.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/commits)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Peintner <max@caos.ch>
* chore(deps): bump uuid from 8.3.0 to 8.3.1 in /console (#802)
* fix: user session with external login (#797)
* fix: user session with external login
* fix: tests
* fix: tests
* fix: change idp config name
* fix(container): stop copying / and instead only copy zitadel (#691)
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
* chore(deps): bump uuid from 8.3.0 to 8.3.1 in /console
Bumps [uuid](https://github.com/uuidjs/uuid) from 8.3.0 to 8.3.1.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v8.3.0...v8.3.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* create memberstable as common component
* iam member cleanup
* iam + org m table, user table service user avatar
* toast config
* fix selection emitter
* fix project grant table width
* project grant members refactor
* theme optimizations
* member table col delete
* lint
* fix table row color
* refactor grey color
* lint scss
* org list redirect on click, fix user table undef
* refresh table after grant add
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
* fix(console): intercept navigator.language, set browser lang as default for user without explicit setting, user table outline, member create dialog import (#820)
* i18n interceptor, set language to browser lang
* nullcheck
* rm external idp log
* fix module imports, rm user displayname from i18n
* Update console/src/assets/i18n/de.json
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
* fix: delete external idps from users (#822)
* fix(console): permission regex, account switcher null check, restrict app and member create access (#821)
* fix member table disable, gerneal regexp
* fix user session card, app disable
* memberships max count
* fix policy permissions
* permission check for member add dialog
* lint
* rm accounts log
* rm id regex
* fix: handle usermemberships on project and project grant delete (#825)
* fix: go handler
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
* fix: tests
* fix: not needed error handling
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: Silvan <silvan.reusser@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
2020-10-15 10:27:13 +02:00
|
|
|
CreationDate: creationDate,
|
|
|
|
ChangeDate: changeDate,
|
2020-11-04 11:26:10 +01:00
|
|
|
ForceMfa: policy.ForceMFA,
|
2020-12-02 17:00:04 +01:00
|
|
|
PasswordlessType: passwordlessTypeFromModel(policy.PasswordlessType),
|
2020-08-26 09:56:23 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func idpProviderSearchRequestToModel(request *management.IdpProviderSearchRequest) *iam_model.IDPProviderSearchRequest {
|
|
|
|
return &iam_model.IDPProviderSearchRequest{
|
|
|
|
Limit: request.Limit,
|
|
|
|
Offset: request.Offset,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func idpProviderSearchResponseFromModel(response *iam_model.IDPProviderSearchResponse) *management.IdpProviderSearchResponse {
|
|
|
|
return &management.IdpProviderSearchResponse{
|
|
|
|
Limit: response.Limit,
|
|
|
|
Offset: response.Offset,
|
|
|
|
TotalResult: response.TotalResult,
|
|
|
|
Result: idpProviderViewsFromModel(response.Result),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-18 11:24:15 +01:00
|
|
|
func idpProviderIDToDomain(ctx context.Context, provider *management.IdpProviderID) *domain.IDPProvider {
|
|
|
|
return &domain.IDPProvider{
|
|
|
|
ObjectRoot: models.ObjectRoot{
|
|
|
|
AggregateID: authz.GetCtxData(ctx).OrgID,
|
|
|
|
},
|
2020-12-11 15:49:19 +01:00
|
|
|
IDPConfigID: provider.IdpConfigId,
|
2020-08-26 09:56:23 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-18 11:24:15 +01:00
|
|
|
func idpProviderAddToDomain(ctx context.Context, provider *management.IdpProviderAdd) *domain.IDPProvider {
|
|
|
|
return &domain.IDPProvider{
|
|
|
|
ObjectRoot: models.ObjectRoot{
|
|
|
|
AggregateID: authz.GetCtxData(ctx).OrgID,
|
|
|
|
},
|
2020-12-11 15:49:19 +01:00
|
|
|
IDPConfigID: provider.IdpConfigId,
|
2021-01-18 11:24:15 +01:00
|
|
|
Type: idpProviderTypeToDomain(provider.IdpProviderType),
|
2020-08-26 09:56:23 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func idpProviderIDFromModel(provider *iam_model.IDPProvider) *management.IdpProviderID {
|
|
|
|
return &management.IdpProviderID{
|
2020-12-11 15:49:19 +01:00
|
|
|
IdpConfigId: provider.IDPConfigID,
|
2020-08-26 09:56:23 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-18 11:24:15 +01:00
|
|
|
func idpProviderFromDomain(provider *domain.IDPProvider) *management.IdpProvider {
|
2020-08-26 09:56:23 +02:00
|
|
|
return &management.IdpProvider{
|
2020-12-11 15:49:19 +01:00
|
|
|
IdpConfigId: provider.IDPConfigID,
|
2021-01-18 11:24:15 +01:00
|
|
|
IdpProvider_Type: idpProviderTypeFromDomain(provider.Type),
|
2020-08-26 09:56:23 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func idpProviderViewsFromModel(providers []*iam_model.IDPProviderView) []*management.IdpProviderView {
|
|
|
|
converted := make([]*management.IdpProviderView, len(providers))
|
|
|
|
for i, provider := range providers {
|
|
|
|
converted[i] = idpProviderViewFromModel(provider)
|
|
|
|
}
|
|
|
|
|
|
|
|
return converted
|
|
|
|
}
|
|
|
|
|
|
|
|
func idpProviderViewFromModel(provider *iam_model.IDPProviderView) *management.IdpProviderView {
|
|
|
|
return &management.IdpProviderView{
|
|
|
|
IdpConfigId: provider.IDPConfigID,
|
|
|
|
Name: provider.Name,
|
|
|
|
Type: idpConfigTypeToModel(provider.IDPConfigType),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func idpConfigTypeToModel(providerType iam_model.IdpConfigType) management.IdpType {
|
|
|
|
switch providerType {
|
|
|
|
case iam_model.IDPConfigTypeOIDC:
|
|
|
|
return management.IdpType_IDPTYPE_OIDC
|
|
|
|
case iam_model.IDPConfigTypeSAML:
|
|
|
|
return management.IdpType_IDPTYPE_SAML
|
|
|
|
default:
|
|
|
|
return management.IdpType_IDPTYPE_UNSPECIFIED
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-18 11:24:15 +01:00
|
|
|
func idpProviderTypeToDomain(providerType management.IdpProviderType) domain.IdentityProviderType {
|
2020-08-26 09:56:23 +02:00
|
|
|
switch providerType {
|
|
|
|
case management.IdpProviderType_IDPPROVIDERTYPE_SYSTEM:
|
2021-01-18 11:24:15 +01:00
|
|
|
return domain.IdentityProviderTypeSystem
|
2020-08-26 09:56:23 +02:00
|
|
|
case management.IdpProviderType_IDPPROVIDERTYPE_ORG:
|
2021-01-18 11:24:15 +01:00
|
|
|
return domain.IdentityProviderTypeOrg
|
2020-08-26 09:56:23 +02:00
|
|
|
default:
|
2021-01-18 11:24:15 +01:00
|
|
|
return domain.IdentityProviderTypeSystem
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func idpProviderTypeFromDomain(providerType domain.IdentityProviderType) management.IdpProviderType {
|
|
|
|
switch providerType {
|
|
|
|
case domain.IdentityProviderTypeSystem:
|
|
|
|
return management.IdpProviderType_IDPPROVIDERTYPE_SYSTEM
|
|
|
|
case domain.IdentityProviderTypeOrg:
|
|
|
|
return management.IdpProviderType_IDPPROVIDERTYPE_ORG
|
|
|
|
default:
|
|
|
|
return management.IdpProviderType_IDPPROVIDERTYPE_UNSPECIFIED
|
2020-08-26 09:56:23 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func idpProviderTypeFromModel(providerType iam_model.IDPProviderType) management.IdpProviderType {
|
|
|
|
switch providerType {
|
|
|
|
case iam_model.IDPProviderTypeSystem:
|
|
|
|
return management.IdpProviderType_IDPPROVIDERTYPE_SYSTEM
|
|
|
|
case iam_model.IDPProviderTypeOrg:
|
|
|
|
return management.IdpProviderType_IDPPROVIDERTYPE_ORG
|
|
|
|
default:
|
|
|
|
return management.IdpProviderType_IDPPROVIDERTYPE_UNSPECIFIED
|
|
|
|
}
|
|
|
|
}
|
2020-11-04 11:26:10 +01:00
|
|
|
|
|
|
|
func secondFactorResultFromModel(result *iam_model.SecondFactorsSearchResponse) *management.SecondFactorsResult {
|
|
|
|
converted := make([]management.SecondFactorType, len(result.Result))
|
|
|
|
for i, mfaType := range result.Result {
|
|
|
|
converted[i] = secondFactorTypeFromModel(mfaType)
|
|
|
|
}
|
|
|
|
return &management.SecondFactorsResult{
|
|
|
|
SecondFactors: converted,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-18 11:24:15 +01:00
|
|
|
func secondFactorFromDomain(mfaType domain.SecondFactorType) *management.SecondFactor {
|
|
|
|
return &management.SecondFactor{
|
|
|
|
SecondFactor: secondFactorTypeFromDomain(mfaType),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-11-04 11:26:10 +01:00
|
|
|
func secondFactorFromModel(mfaType iam_model.SecondFactorType) *management.SecondFactor {
|
|
|
|
return &management.SecondFactor{
|
|
|
|
SecondFactor: secondFactorTypeFromModel(mfaType),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-18 11:24:15 +01:00
|
|
|
func secondFactorTypeFromDomain(mfaType domain.SecondFactorType) management.SecondFactorType {
|
|
|
|
switch mfaType {
|
|
|
|
case domain.SecondFactorTypeOTP:
|
|
|
|
return management.SecondFactorType_SECONDFACTORTYPE_OTP
|
|
|
|
case domain.SecondFactorTypeU2F:
|
|
|
|
return management.SecondFactorType_SECONDFACTORTYPE_U2F
|
|
|
|
default:
|
|
|
|
return management.SecondFactorType_SECONDFACTORTYPE_UNSPECIFIED
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-11-04 11:26:10 +01:00
|
|
|
func secondFactorTypeFromModel(mfaType iam_model.SecondFactorType) management.SecondFactorType {
|
|
|
|
switch mfaType {
|
|
|
|
case iam_model.SecondFactorTypeOTP:
|
|
|
|
return management.SecondFactorType_SECONDFACTORTYPE_OTP
|
|
|
|
case iam_model.SecondFactorTypeU2F:
|
|
|
|
return management.SecondFactorType_SECONDFACTORTYPE_U2F
|
|
|
|
default:
|
|
|
|
return management.SecondFactorType_SECONDFACTORTYPE_UNSPECIFIED
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-18 11:24:15 +01:00
|
|
|
func secondFactorTypeToDomain(mfaType *management.SecondFactor) domain.SecondFactorType {
|
2020-11-04 11:26:10 +01:00
|
|
|
switch mfaType.SecondFactor {
|
|
|
|
case management.SecondFactorType_SECONDFACTORTYPE_OTP:
|
2021-01-18 11:24:15 +01:00
|
|
|
return domain.SecondFactorTypeOTP
|
2020-11-04 11:26:10 +01:00
|
|
|
case management.SecondFactorType_SECONDFACTORTYPE_U2F:
|
2021-01-18 11:24:15 +01:00
|
|
|
return domain.SecondFactorTypeU2F
|
2020-11-04 11:26:10 +01:00
|
|
|
default:
|
2021-01-18 11:24:15 +01:00
|
|
|
return domain.SecondFactorTypeUnspecified
|
2020-11-04 11:26:10 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func multiFactorResultFromModel(result *iam_model.MultiFactorsSearchResponse) *management.MultiFactorsResult {
|
|
|
|
converted := make([]management.MultiFactorType, len(result.Result))
|
|
|
|
for i, mfaType := range result.Result {
|
|
|
|
converted[i] = multiFactorTypeFromModel(mfaType)
|
|
|
|
}
|
|
|
|
return &management.MultiFactorsResult{
|
|
|
|
MultiFactors: converted,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-18 11:24:15 +01:00
|
|
|
func multiFactorFromDomain(mfaType domain.MultiFactorType) *management.MultiFactor {
|
2020-11-04 11:26:10 +01:00
|
|
|
return &management.MultiFactor{
|
2021-01-18 11:24:15 +01:00
|
|
|
MultiFactor: multiFactorTypeFromDomain(mfaType),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func multiFactorTypeFromDomain(mfaType domain.MultiFactorType) management.MultiFactorType {
|
|
|
|
switch mfaType {
|
|
|
|
case domain.MultiFactorTypeU2FWithPIN:
|
|
|
|
return management.MultiFactorType_MULTIFACTORTYPE_U2F_WITH_PIN
|
|
|
|
default:
|
|
|
|
return management.MultiFactorType_MULTIFACTORTYPE_UNSPECIFIED
|
2020-11-04 11:26:10 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func multiFactorTypeFromModel(mfaType iam_model.MultiFactorType) management.MultiFactorType {
|
|
|
|
switch mfaType {
|
|
|
|
case iam_model.MultiFactorTypeU2FWithPIN:
|
|
|
|
return management.MultiFactorType_MULTIFACTORTYPE_U2F_WITH_PIN
|
|
|
|
default:
|
|
|
|
return management.MultiFactorType_MULTIFACTORTYPE_UNSPECIFIED
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-18 11:24:15 +01:00
|
|
|
func multiFactorTypeToDomain(mfaType *management.MultiFactor) domain.MultiFactorType {
|
2020-11-04 11:26:10 +01:00
|
|
|
switch mfaType.MultiFactor {
|
|
|
|
case management.MultiFactorType_MULTIFACTORTYPE_U2F_WITH_PIN:
|
2021-01-18 11:24:15 +01:00
|
|
|
return domain.MultiFactorTypeU2FWithPIN
|
2020-11-04 11:26:10 +01:00
|
|
|
default:
|
2021-01-18 11:24:15 +01:00
|
|
|
return domain.MultiFactorTypeUnspecified
|
2020-11-04 11:26:10 +01:00
|
|
|
}
|
|
|
|
}
|
2020-12-02 17:00:04 +01:00
|
|
|
|
|
|
|
func passwordlessTypeFromModel(passwordlessType iam_model.PasswordlessType) management.PasswordlessType {
|
|
|
|
switch passwordlessType {
|
|
|
|
case iam_model.PasswordlessTypeAllowed:
|
|
|
|
return management.PasswordlessType_PASSWORDLESSTYPE_ALLOWED
|
|
|
|
default:
|
|
|
|
return management.PasswordlessType_PASSWORDLESSTYPE_NOT_ALLOWED
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-18 11:24:15 +01:00
|
|
|
func passwordlessTypeFromDomain(passwordlessType domain.PasswordlessType) management.PasswordlessType {
|
|
|
|
switch passwordlessType {
|
|
|
|
case domain.PasswordlessTypeAllowed:
|
|
|
|
return management.PasswordlessType_PASSWORDLESSTYPE_ALLOWED
|
|
|
|
default:
|
|
|
|
return management.PasswordlessType_PASSWORDLESSTYPE_NOT_ALLOWED
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func passwordlessTypeToDomain(passwordlessType management.PasswordlessType) domain.PasswordlessType {
|
2020-12-02 17:00:04 +01:00
|
|
|
switch passwordlessType {
|
|
|
|
case management.PasswordlessType_PASSWORDLESSTYPE_ALLOWED:
|
2021-01-18 11:24:15 +01:00
|
|
|
return domain.PasswordlessTypeAllowed
|
2020-12-02 17:00:04 +01:00
|
|
|
default:
|
2021-01-18 11:24:15 +01:00
|
|
|
return domain.PasswordlessTypeNotAllowed
|
2020-12-02 17:00:04 +01:00
|
|
|
}
|
|
|
|
}
|