  We describe a systematic procedure for determining the identity of a 2D
bosonic symmetry protected topological (SPT) phase from the properties of its
edge excitations. Our approach applies to general bosonic SPT phases with
either unitary or antiunitary symmetries, and with either continuous or
discrete symmetry groups, with the only restriction being that the symmetries
must be on-site. Concretely, our procedure takes a bosonic SPT edge theory as
input, and produces an element $\omega$ of the cohomology group $H^3(G,
U_T(1))$. This element $\omega \in H^3(G, U_T(1))$ can be interpreted as either
a label for the bulk 2D SPT phase or a label for the anomaly carried by the SPT
edge theory. The basic idea behind our approach is to compute the $F$-symbol
associated with domain walls in a symmetry broken edge theory; this domain wall
$F$-symbol is precisely the anomaly we wish to compute. We demonstrate our
approach with several SPT edge theories including both lattice models and
continuum field theories.
