Combine soy sauce, 5-spice powder, star anise, cinnamon, olive oil, chilies, and brown sugar in a large bowl.
Add duck legs and marinate for 1 hour in the refrigerator.
Preheat oven to 350 F.
Place duck legs in a baking dish and pour over the remaining marinade.
Top with most of the orange slices and cranberries, reserving some for garnish later.
Bake for 1 hour and 15 minutes, basting occasionally with marinade, until the duck is cooked through (and the internal temperature has reached 165 F). Rest for 5 minutes before serving.
Place duck legs on a platter and garnish with reserved orange slices, cranberries, and sliced green onion. Serve right away.