OIDCAuthProviderConfig.fromResponse constructor

OIDCAuthProviderConfig.fromResponse(
  1. GoogleCloudIdentitytoolkitAdminV2OAuthIdpConfig response
)

Implementation

factory OIDCAuthProviderConfig.fromResponse(
  v2.GoogleCloudIdentitytoolkitAdminV2OAuthIdpConfig response,
) {
  final issuer = response.issuer;
  final clientID = response.clientId;
  final name = response.name;
  if (issuer == null || clientID == null || name == null) {
    throw FirebaseAuthAdminException(
      AuthClientErrorCode.invalidArgument,
      'INTERNAL ASSERT FAILED: Invalid OIDC configuration response',
    );
  }

  final providerId = OIDCAuthProviderConfig.getProviderIdFromResourceName(
    name,
  );
  if (providerId == null) {
    throw FirebaseAuthAdminException(
      AuthClientErrorCode.internalError,
      'INTERNAL ASSERT FAILED: Invalid OIDC configuration response',
    );
  }

  return OIDCAuthProviderConfig(
    providerId: providerId,
    displayName: response.displayName,
    enabled: response.enabled ?? false,
    clientId: clientID,
    issuer: issuer,
    clientSecret: response.clientSecret,
    responseType: response.responseType.let((responseType) {
      return OAuthResponseType._(
        idToken: responseType.idToken,
        code: responseType.code,
      );
    }),
  );
}