Let $(C, J)$ be a small site and let $\mathsf{Sh}_{(2, 1)}(C, J)$ be the $(2, 1)$-sheaf topos of sheaves of (small) groupoids on $(C, J)$. Let $G$ be a sheaf of groups on $(C, J)$, and let $\mathbf{Bun}_G$ be the hom-stack $[-, \mathbf{B}G]$, which is typically known as the moduli stack of principal $G$-bundles on $(C, J)$. [On the nLab][1], it is stated that (up to homotopy equivalences), principal $G$-bundles over a given base space $X \in (C, J)$, (i.e. objects of $\mathbf{Bun}_G(X)$) are homotopy pullbacks of the following form:

$\require{AMScd}$
\begin{CD}
P @>>> *\\
@V  V V @VV  V\\
X @>>> \mathbf{B}G
\end{CD}

Would anyone mind explaining to me why this is the case, and moreover, how one might obtain "local trivialisations" out of the above pullback square ? The nLab article I linked does go into these topics, but their explanation is a bit too abstract non-sensical for me to be able to cut through.

  [1]: https://ncatlab.org/nlab/show/principal+bundle#in_terms_of_fiber_sequences