feat(console): Google, Generic OIDC, Generic JWT - Identity provider templates (#5265)

implement Google, Generic OIDC, Generic JWT provider templates in console
This commit is contained in:
Max Peintner
2023-03-06 10:20:31 +00:00
committed by GitHub
parent 2efa305e10
commit 2ee381f414
55 changed files with 2217 additions and 1880 deletions
+54 -54
View File
@@ -8,18 +8,20 @@ import {
ActivateSMSProviderResponse,
AddCustomDomainPolicyRequest,
AddCustomOrgIAMPolicyResponse,
AddGenericOIDCProviderRequest,
AddGenericOIDCProviderResponse,
AddGoogleProviderRequest,
AddGoogleProviderResponse,
AddIAMMemberRequest,
AddIAMMemberResponse,
AddIDPToLoginPolicyRequest,
AddIDPToLoginPolicyResponse,
AddJWTIDPRequest,
AddJWTIDPResponse,
AddJWTProviderRequest,
AddJWTProviderResponse,
AddMultiFactorToLoginPolicyRequest,
AddMultiFactorToLoginPolicyResponse,
AddNotificationPolicyRequest,
AddNotificationPolicyResponse,
AddOIDCIDPRequest,
AddOIDCIDPResponse,
AddOIDCSettingsRequest,
AddOIDCSettingsResponse,
AddSecondFactorToLoginPolicyRequest,
@@ -32,6 +34,8 @@ import {
DeactivateIDPResponse,
DeactivateSMSProviderRequest,
DeactivateSMSProviderResponse,
DeleteProviderRequest,
DeleteProviderResponse,
GetCustomDomainClaimedMessageTextRequest,
GetCustomDomainClaimedMessageTextResponse,
GetCustomDomainPolicyRequest,
@@ -72,8 +76,6 @@ import {
GetDomainPolicyResponse,
GetFileSystemNotificationProviderRequest,
GetFileSystemNotificationProviderResponse,
GetIDPByIDRequest,
GetIDPByIDResponse,
GetLabelPolicyRequest,
GetLabelPolicyResponse,
GetLockoutPolicyRequest,
@@ -96,6 +98,8 @@ import {
GetPreviewLabelPolicyResponse,
GetPrivacyPolicyRequest,
GetPrivacyPolicyResponse,
GetProviderByIDRequest,
GetProviderByIDResponse,
GetSecretGeneratorRequest,
GetSecretGeneratorResponse,
GetSecurityPolicyRequest,
@@ -106,7 +110,6 @@ import {
GetSMTPConfigResponse,
GetSupportedLanguagesRequest,
GetSupportedLanguagesResponse,
IDPQuery,
ListAggregateTypesRequest,
ListAggregateTypesResponse,
ListEventsRequest,
@@ -119,14 +122,14 @@ import {
ListIAMMemberRolesResponse,
ListIAMMembersRequest,
ListIAMMembersResponse,
ListIDPsRequest,
ListIDPsResponse,
ListLoginPolicyIDPsRequest,
ListLoginPolicyIDPsResponse,
ListLoginPolicyMultiFactorsRequest,
ListLoginPolicyMultiFactorsResponse,
ListLoginPolicySecondFactorsRequest,
ListLoginPolicySecondFactorsResponse,
ListProvidersRequest,
ListProvidersResponse,
ListSecretGeneratorsRequest,
ListSecretGeneratorsResponse,
ListSMSProvidersRequest,
@@ -191,14 +194,14 @@ import {
UpdateCustomDomainPolicyResponse,
UpdateDomainPolicyRequest,
UpdateDomainPolicyResponse,
UpdateGenericOIDCProviderRequest,
UpdateGenericOIDCProviderResponse,
UpdateGoogleProviderRequest,
UpdateGoogleProviderResponse,
UpdateIAMMemberRequest,
UpdateIAMMemberResponse,
UpdateIDPJWTConfigRequest,
UpdateIDPJWTConfigResponse,
UpdateIDPOIDCConfigRequest,
UpdateIDPOIDCConfigResponse,
UpdateIDPRequest,
UpdateIDPResponse,
UpdateJWTProviderRequest,
UpdateJWTProviderResponse,
UpdateLabelPolicyRequest,
UpdateLabelPolicyResponse,
UpdateLockoutPolicyRequest,
@@ -871,41 +874,6 @@ export class AdminService {
return this.grpcService.admin.listLoginPolicyIDPs(req, null).then((resp) => resp.toObject());
}
public listIDPs(limit?: number, offset?: number, queriesList?: IDPQuery[]): Promise<ListIDPsResponse.AsObject> {
const req = new ListIDPsRequest();
const query = new ListQuery();
if (limit) {
query.setLimit(limit);
}
if (offset) {
query.setOffset(offset);
}
if (queriesList) {
req.setQueriesList(queriesList);
}
req.setQuery(query);
return this.grpcService.admin.listIDPs(req, null).then((resp) => resp.toObject());
}
public getIDPByID(id: string): Promise<GetIDPByIDResponse.AsObject> {
const req = new GetIDPByIDRequest();
req.setId(id);
return this.grpcService.admin.getIDPByID(req, null).then((resp) => resp.toObject());
}
public updateIDP(req: UpdateIDPRequest): Promise<UpdateIDPResponse.AsObject> {
return this.grpcService.admin.updateIDP(req, null).then((resp) => resp.toObject());
}
public addOIDCIDP(req: AddOIDCIDPRequest): Promise<AddOIDCIDPResponse.AsObject> {
return this.grpcService.admin.addOIDCIDP(req, null).then((resp) => resp.toObject());
}
public updateIDPOIDCConfig(req: UpdateIDPOIDCConfigRequest): Promise<UpdateIDPOIDCConfigResponse.AsObject> {
return this.grpcService.admin.updateIDPOIDCConfig(req, null).then((resp) => resp.toObject());
}
public removeIDP(id: string): Promise<RemoveIDPResponse.AsObject> {
const req = new RemoveIDPRequest();
req.setIdpId(id);
@@ -924,12 +892,44 @@ export class AdminService {
return this.grpcService.admin.reactivateIDP(req, null).then((resp) => resp.toObject());
}
public addJWTIDP(req: AddJWTIDPRequest): Promise<AddJWTIDPResponse.AsObject> {
return this.grpcService.admin.addJWTIDP(req, null).then((resp) => resp.toObject());
// idp templates
public addGoogleProvider(req: AddGoogleProviderRequest): Promise<AddGoogleProviderResponse.AsObject> {
return this.grpcService.admin.addGoogleProvider(req, null).then((resp) => resp.toObject());
}
public updateIDPJWTConfig(req: UpdateIDPJWTConfigRequest): Promise<UpdateIDPJWTConfigResponse.AsObject> {
return this.grpcService.admin.updateIDPJWTConfig(req, null).then((resp) => resp.toObject());
public updateGoogleProvider(req: UpdateGoogleProviderRequest): Promise<UpdateGoogleProviderResponse.AsObject> {
return this.grpcService.admin.updateGoogleProvider(req, null).then((resp) => resp.toObject());
}
public addGenericOIDCProvider(req: AddGenericOIDCProviderRequest): Promise<AddGenericOIDCProviderResponse.AsObject> {
return this.grpcService.admin.addGenericOIDCProvider(req, null).then((resp) => resp.toObject());
}
public updateGenericOIDCProvider(
req: UpdateGenericOIDCProviderRequest,
): Promise<UpdateGenericOIDCProviderResponse.AsObject> {
return this.grpcService.admin.updateGenericOIDCProvider(req, null).then((resp) => resp.toObject());
}
public addJWTProvider(req: AddJWTProviderRequest): Promise<AddJWTProviderResponse.AsObject> {
return this.grpcService.admin.addJWTProvider(req, null).then((resp) => resp.toObject());
}
public updateJWTProvider(req: UpdateJWTProviderRequest): Promise<UpdateJWTProviderResponse.AsObject> {
return this.grpcService.admin.updateJWTProvider(req, null).then((resp) => resp.toObject());
}
public deleteProvider(req: DeleteProviderRequest): Promise<DeleteProviderResponse.AsObject> {
return this.grpcService.admin.deleteProvider(req, null).then((resp) => resp.toObject());
}
public listProviders(req: ListProvidersRequest): Promise<ListProvidersResponse.AsObject> {
return this.grpcService.admin.listProviders(req, null).then((resp) => resp.toObject());
}
public getProviderByID(req: GetProviderByIDRequest): Promise<GetProviderByIDResponse.AsObject> {
return this.grpcService.admin.getProviderByID(req, null).then((resp) => resp.toObject());
}
public listIAMMembers(
+54 -55
View File
@@ -3,7 +3,6 @@ import { SortDirection } from '@angular/material/sort';
import { Empty } from 'google-protobuf/google/protobuf/empty_pb';
import { Timestamp } from 'google-protobuf/google/protobuf/timestamp_pb';
import { BehaviorSubject } from 'rxjs';
import { AppQuery } from '../proto/generated/zitadel/app_pb';
import { KeyType } from '../proto/generated/zitadel/auth_n_key_pb';
import { ChangeQuery } from '../proto/generated/zitadel/change_pb';
@@ -30,10 +29,16 @@ import {
AddCustomPasswordComplexityPolicyResponse,
AddCustomPrivacyPolicyRequest,
AddCustomPrivacyPolicyResponse,
AddGenericOIDCProviderRequest,
AddGenericOIDCProviderResponse,
AddGoogleProviderRequest,
AddGoogleProviderResponse,
AddHumanUserRequest,
AddHumanUserResponse,
AddIDPToLoginPolicyRequest,
AddIDPToLoginPolicyResponse,
AddJWTProviderRequest,
AddJWTProviderResponse,
AddMachineKeyRequest,
AddMachineKeyResponse,
AddMachineUserRequest,
@@ -44,12 +49,8 @@ import {
AddOIDCAppResponse,
AddOrgDomainRequest,
AddOrgDomainResponse,
AddOrgJWTIDPRequest,
AddOrgJWTIDPResponse,
AddOrgMemberRequest,
AddOrgMemberResponse,
AddOrgOIDCIDPRequest,
AddOrgOIDCIDPResponse,
AddOrgRequest,
AddOrgResponse,
AddPersonalAccessTokenRequest,
@@ -96,6 +97,8 @@ import {
DeactivateUserResponse,
DeleteActionRequest,
DeleteActionResponse,
DeleteProviderRequest,
DeleteProviderResponse,
GenerateMachineSecretRequest,
GenerateMachineSecretResponse,
GenerateOrgDomainValidationRequest,
@@ -168,8 +171,6 @@ import {
GetOIDCInformationResponse,
GetOrgByDomainGlobalRequest,
GetOrgByDomainGlobalResponse,
GetOrgIDPByIDRequest,
GetOrgIDPByIDResponse,
GetPasswordAgePolicyRequest,
GetPasswordAgePolicyResponse,
GetPasswordComplexityPolicyRequest,
@@ -182,6 +183,8 @@ import {
GetProjectByIDResponse,
GetProjectGrantByIDRequest,
GetProjectGrantByIDResponse,
GetProviderByIDRequest,
GetProviderByIDResponse,
GetSupportedLanguagesRequest,
GetSupportedLanguagesResponse,
GetUserByIDRequest,
@@ -192,7 +195,6 @@ import {
GetUserGrantByIDResponse,
GetUserMetadataRequest,
GetUserMetadataResponse,
IDPQuery,
ListActionsRequest,
ListActionsResponse,
ListAppChangesRequest,
@@ -226,8 +228,6 @@ import {
ListOrgChangesResponse,
ListOrgDomainsRequest,
ListOrgDomainsResponse,
ListOrgIDPsRequest,
ListOrgIDPsResponse,
ListOrgMemberRolesRequest,
ListOrgMemberRolesResponse,
ListOrgMembersRequest,
@@ -254,6 +254,8 @@ import {
ListProjectRolesResponse,
ListProjectsRequest,
ListProjectsResponse,
ListProvidersRequest,
ListProvidersResponse,
ListUserChangesRequest,
ListUserChangesResponse,
ListUserGrantRequest,
@@ -425,22 +427,22 @@ import {
UpdateCustomPasswordComplexityPolicyResponse,
UpdateCustomPrivacyPolicyRequest,
UpdateCustomPrivacyPolicyResponse,
UpdateGenericOIDCProviderRequest,
UpdateGenericOIDCProviderResponse,
UpdateGoogleProviderRequest,
UpdateGoogleProviderResponse,
UpdateHumanEmailRequest,
UpdateHumanEmailResponse,
UpdateHumanPhoneRequest,
UpdateHumanPhoneResponse,
UpdateHumanProfileRequest,
UpdateHumanProfileResponse,
UpdateJWTProviderRequest,
UpdateJWTProviderResponse,
UpdateMachineRequest,
UpdateMachineResponse,
UpdateOIDCAppConfigRequest,
UpdateOIDCAppConfigResponse,
UpdateOrgIDPJWTConfigRequest,
UpdateOrgIDPJWTConfigResponse,
UpdateOrgIDPOIDCConfigRequest,
UpdateOrgIDPOIDCConfigResponse,
UpdateOrgIDPRequest,
UpdateOrgIDPResponse,
UpdateOrgMemberRequest,
UpdateOrgMemberResponse,
UpdateOrgRequest,
@@ -692,23 +694,6 @@ export class ManagementService {
.then((resp) => resp.toObject());
}
public listOrgIDPs(limit?: number, offset?: number, queryList?: IDPQuery[]): Promise<ListOrgIDPsResponse.AsObject> {
const req = new ListOrgIDPsRequest();
const query = new ListQuery();
if (limit) {
query.setLimit(limit);
}
if (offset) {
query.setOffset(offset);
}
req.setQuery(query);
if (queryList) {
req.setQueriesList(queryList);
}
return this.grpcService.mgmt.listOrgIDPs(req, null).then((resp) => resp.toObject());
}
public updateUserName(userId: string, username: string): Promise<UpdateUserNameResponse.AsObject> {
const req = new UpdateUserNameRequest();
req.setUserId(userId);
@@ -848,24 +833,6 @@ export class ManagementService {
return this.grpcService.mgmt.listLoginPolicyIDPs(req, null).then((resp) => resp.toObject());
}
public getOrgIDPByID(id: string): Promise<GetOrgIDPByIDResponse.AsObject> {
const req = new GetOrgIDPByIDRequest();
req.setId(id);
return this.grpcService.mgmt.getOrgIDPByID(req, null).then((resp) => resp.toObject());
}
public updateOrgIDP(req: UpdateOrgIDPRequest): Promise<UpdateOrgIDPResponse.AsObject> {
return this.grpcService.mgmt.updateOrgIDP(req, null).then((resp) => resp.toObject());
}
public addOrgOIDCIDP(req: AddOrgOIDCIDPRequest): Promise<AddOrgOIDCIDPResponse.AsObject> {
return this.grpcService.mgmt.addOrgOIDCIDP(req, null).then((resp) => resp.toObject());
}
public updateOrgIDPOIDCConfig(req: UpdateOrgIDPOIDCConfigRequest): Promise<UpdateOrgIDPOIDCConfigResponse.AsObject> {
return this.grpcService.mgmt.updateOrgIDPOIDCConfig(req, null).then((resp) => resp.toObject());
}
public removeOrgIDP(idpId: string): Promise<RemoveOrgIDPResponse.AsObject> {
const req = new RemoveOrgIDPRequest();
req.setIdpId(idpId);
@@ -884,12 +851,44 @@ export class ManagementService {
return this.grpcService.mgmt.reactivateOrgIDP(req, null).then((resp) => resp.toObject());
}
public addOrgJWTIDP(req: AddOrgJWTIDPRequest): Promise<AddOrgJWTIDPResponse.AsObject> {
return this.grpcService.mgmt.addOrgJWTIDP(req, null).then((resp) => resp.toObject());
// idp templates
public addGoogleProvider(req: AddGoogleProviderRequest): Promise<AddGoogleProviderResponse.AsObject> {
return this.grpcService.mgmt.addGoogleProvider(req, null).then((resp) => resp.toObject());
}
public updateOrgIDPJWTConfig(req: UpdateOrgIDPJWTConfigRequest): Promise<UpdateOrgIDPJWTConfigResponse.AsObject> {
return this.grpcService.mgmt.updateOrgIDPJWTConfig(req, null).then((resp) => resp.toObject());
public updateGoogleProvider(req: UpdateGoogleProviderRequest): Promise<UpdateGoogleProviderResponse.AsObject> {
return this.grpcService.mgmt.updateGoogleProvider(req, null).then((resp) => resp.toObject());
}
public addGenericOIDCProvider(req: AddGenericOIDCProviderRequest): Promise<AddGenericOIDCProviderResponse.AsObject> {
return this.grpcService.mgmt.addGenericOIDCProvider(req, null).then((resp) => resp.toObject());
}
public updateGenericOIDCProvider(
req: UpdateGenericOIDCProviderRequest,
): Promise<UpdateGenericOIDCProviderResponse.AsObject> {
return this.grpcService.mgmt.updateGenericOIDCProvider(req, null).then((resp) => resp.toObject());
}
public addJWTProvider(req: AddJWTProviderRequest): Promise<AddJWTProviderResponse.AsObject> {
return this.grpcService.mgmt.addJWTProvider(req, null).then((resp) => resp.toObject());
}
public updateJWTProvider(req: UpdateJWTProviderRequest): Promise<UpdateJWTProviderResponse.AsObject> {
return this.grpcService.mgmt.updateJWTProvider(req, null).then((resp) => resp.toObject());
}
public deleteProvider(req: DeleteProviderRequest): Promise<DeleteProviderResponse.AsObject> {
return this.grpcService.mgmt.deleteProvider(req, null).then((resp) => resp.toObject());
}
public listProviders(req: ListProvidersRequest): Promise<ListProvidersResponse.AsObject> {
return this.grpcService.mgmt.listProviders(req, null).then((resp) => resp.toObject());
}
public getProviderByID(req: GetProviderByIDRequest): Promise<GetProviderByIDResponse.AsObject> {
return this.grpcService.mgmt.getProviderByID(req, null).then((resp) => resp.toObject());
}
public addHumanUser(req: AddHumanUserRequest): Promise<AddHumanUserResponse.AsObject> {