In a large pot or dutch oven over medium high heat, heat the oil until shimmering. Add onion and cook until softened, about 5 minutes.
To the pot add beans, cumin, oregano, garlic, bay leaf, chipotle chilies, and adobo sauce. Add enough water to cover. Bring to a boil over medium high heat. Reduce heat and simmer until beans are tender, about 2 hours.
Remove from heat. Remove bay leaf and chipotle chilies. Stir in lemon and lime juices, and season to taste with salt and pepper.
Chipotle uses rice bran oil, but any neutral oil will work.
To strain the adobo sauce from the chiles, add the content of the can into a strainer set over a small bowl, pressing down on the peppers to extract as much liquid as possible (you should have at least ¼ cup). Reserve remaining chipotle chilies and sauce for another use.