SAMLAuthProviderConfig.fromResponse constructor

SAMLAuthProviderConfig.fromResponse(
  1. GoogleCloudIdentitytoolkitAdminV2InboundSamlConfig response
)

Implementation

factory SAMLAuthProviderConfig.fromResponse(
  v2.GoogleCloudIdentitytoolkitAdminV2InboundSamlConfig response,
) {
  final idpConfig = response.idpConfig;
  final idpEntityId = idpConfig?.idpEntityId;
  final ssoURL = idpConfig?.ssoUrl;
  final spConfig = response.spConfig;
  final spEntityId = spConfig?.spEntityId;
  final providerId = response.name.let(
    SAMLAuthProviderConfig.getProviderIdFromResourceName,
  );

  if (idpConfig == null ||
      idpEntityId == null ||
      ssoURL == null ||
      spConfig == null ||
      spEntityId == null ||
      providerId == null) {
    throw FirebaseAuthAdminException(
      AuthClientErrorCode.internalError,
      'INTERNAL ASSERT FAILED: Invalid SAML configuration response',
    );
  }

  return SAMLAuthProviderConfig(
    idpEntityId: idpEntityId,
    ssoURL: ssoURL,
    x509Certificates: [
      ...?idpConfig.idpCertificates?.map((c) => c.x509Certificate).nonNulls,
    ],
    rpEntityId: spEntityId,
    callbackURL: spConfig.callbackUri,
    providerId: providerId,
    displayName: response.displayName,
    enabled: response.enabled ?? false,
  );
}