mirror of
https://github.com/bitwarden/browser
synced 2025-12-13 23:03:32 +00:00
119 lines
4.5 KiB
TypeScript
119 lines
4.5 KiB
TypeScript
import { BaseResponse } from '../response/baseResponse';
|
|
|
|
enum SsoType {
|
|
OpenIdConnect = 1,
|
|
Saml2 = 2,
|
|
}
|
|
|
|
enum OpenIdConnectRedirectBehavior {
|
|
RedirectGet = 0,
|
|
FormPost = 1,
|
|
}
|
|
|
|
enum Saml2BindingType {
|
|
HttpRedirect = 1,
|
|
HttpPost = 2,
|
|
Artifact = 4,
|
|
}
|
|
|
|
enum Saml2NameIdFormat {
|
|
NotConfigured = 0,
|
|
Unspecified = 1,
|
|
EmailAddress = 2,
|
|
X509SubjectName = 3,
|
|
WindowsDomainQualifiedName = 4,
|
|
KerberosPrincipalName = 5,
|
|
EntityIdentifier = 6,
|
|
Persistent = 7,
|
|
Transient = 8,
|
|
}
|
|
|
|
enum Saml2SigningBehavior {
|
|
IfIdpWantAuthnRequestsSigned = 0,
|
|
Always = 1,
|
|
Never = 3,
|
|
}
|
|
|
|
export class SsoConfigApi extends BaseResponse {
|
|
configType: SsoType;
|
|
|
|
useCryptoAgent: boolean;
|
|
cryptoAgentUrl: string;
|
|
|
|
// OpenId
|
|
authority: string;
|
|
clientId: string;
|
|
clientSecret: string;
|
|
metadataAddress: string;
|
|
redirectBehavior: OpenIdConnectRedirectBehavior;
|
|
getClaimsFromUserInfoEndpoint: boolean;
|
|
additionalScopes: string;
|
|
additionalUserIdClaimTypes: string;
|
|
additionalEmailClaimTypes: string;
|
|
additionalNameClaimTypes: string;
|
|
acrValues: string;
|
|
expectedReturnAcrValue: string;
|
|
|
|
// SAML
|
|
spNameIdFormat: Saml2NameIdFormat;
|
|
spOutboundSigningAlgorithm: string;
|
|
spSigningBehavior: Saml2SigningBehavior;
|
|
spMinIncomingSigningAlgorithm: boolean;
|
|
spWantAssertionsSigned: boolean;
|
|
spValidateCertificates: boolean;
|
|
|
|
idpEntityId: string;
|
|
idpBindingType: Saml2BindingType;
|
|
idpSingleSignOnServiceUrl: string;
|
|
idpSingleLogoutServiceUrl: string;
|
|
idpArtifactResolutionServiceUrl: string;
|
|
idpX509PublicCert: string;
|
|
idpOutboundSigningAlgorithm: string;
|
|
idpAllowUnsolicitedAuthnResponse: boolean;
|
|
idpDisableOutboundLogoutRequests: boolean;
|
|
idpWantAuthnRequestsSigned: boolean;
|
|
|
|
constructor(data: any = null) {
|
|
super(data);
|
|
if (data == null) {
|
|
return;
|
|
}
|
|
|
|
this.configType = this.getResponseProperty('ConfigType');
|
|
|
|
this.useCryptoAgent = this.getResponseProperty('UseCryptoAgent');
|
|
this.cryptoAgentUrl = this.getResponseProperty('CryptoAgentUrl');
|
|
|
|
this.authority = this.getResponseProperty('Authority');
|
|
this.clientId = this.getResponseProperty('ClientId');
|
|
this.clientSecret = this.getResponseProperty('ClientSecret');
|
|
this.metadataAddress = this.getResponseProperty('MetadataAddress');
|
|
this.redirectBehavior = this.getResponseProperty('RedirectBehavior');
|
|
this.getClaimsFromUserInfoEndpoint = this.getResponseProperty('GetClaimsFromUserInfoEndpoint');
|
|
this.additionalScopes = this.getResponseProperty('AdditionalScopes');
|
|
this.additionalUserIdClaimTypes = this.getResponseProperty('AdditionalUserIdClaimTypes');
|
|
this.additionalEmailClaimTypes = this.getResponseProperty('AdditionalEmailClaimTypes');
|
|
this.additionalNameClaimTypes = this.getResponseProperty('AdditionalNameClaimTypes');
|
|
this.acrValues = this.getResponseProperty('AcrValues');
|
|
this.expectedReturnAcrValue = this.getResponseProperty('ExpectedReturnAcrValue');
|
|
|
|
this.spNameIdFormat = this.getResponseProperty('SpNameIdFormat');
|
|
this.spOutboundSigningAlgorithm = this.getResponseProperty('SpOutboundSigningAlgorithm');
|
|
this.spSigningBehavior = this.getResponseProperty('SpSigningBehavior');
|
|
this.spMinIncomingSigningAlgorithm = this.getResponseProperty('SpMinIncomingSigningAlgorithm');
|
|
this.spWantAssertionsSigned = this.getResponseProperty('SpWantAssertionsSigned');
|
|
this.spValidateCertificates = this.getResponseProperty('SpValidateCertificates');
|
|
|
|
this.idpEntityId = this.getResponseProperty('IdpEntityId');
|
|
this.idpBindingType = this.getResponseProperty('IdpBindingType');
|
|
this.idpSingleSignOnServiceUrl = this.getResponseProperty('IdpSingleSignOnServiceUrl');
|
|
this.idpSingleLogoutServiceUrl = this.getResponseProperty('IdpSingleLogoutServiceUrl');
|
|
this.idpArtifactResolutionServiceUrl = this.getResponseProperty('IdpArtifactResolutionServiceUrl');
|
|
this.idpX509PublicCert = this.getResponseProperty('IdpX509PublicCert');
|
|
this.idpOutboundSigningAlgorithm = this.getResponseProperty('IdpOutboundSigningAlgorithm');
|
|
this.idpAllowUnsolicitedAuthnResponse = this.getResponseProperty('IdpAllowUnsolicitedAuthnResponse');
|
|
this.idpDisableOutboundLogoutRequests = this.getResponseProperty('IdpDisableOutboundLogoutRequests');
|
|
this.idpWantAuthnRequestsSigned = this.getResponseProperty('IdpWantAuthnRequestsSigned');
|
|
}
|
|
}
|