3 month old always fighting naps

Ke

My 3 month old will start into a 1 hour raging fit if I don't get him down in time. He also has a very hard time staying asleep if he's not constantly rocking or swinging. He's sleeping from 9pm-6am with one feeding every night. He stays awake for about 1.5 hours before needing a nap again and his naps are lasting like 2 hours in his swing but I've been trying to put him in his crib before resorting to the swing. He sleeps anywhere from 20-40 minutes in his crib. I can tell it's not enough sleep or he's tired when he stops engaging, yawning, or his little squeals start to sound more grumpy. His eyelids will also be red. So this is how I know when he needs sleep and when he didn't get enough sleep. My question is, is 1.5 hours of being awake seem too little? And 2 hour naps too much considering he's sleeping practically through the night? I'm trying to figure out why he fights naps so badly when he has all the signs of being tired. this has been his schedule for at least a month now..... I'm not sure if I should not let him sleep as much, could that be making him MORE tired more often???? And it doesn't seem like a normal baby fighting his sleep, he is getting himself so worked up, not rocking, nursing, lullabies will calm him down if he's awake for slightly too long.