How to make a circular rainbow effect?
This is a post effect as it occurs inside the lens. I have used a mask to create the ring, then added some noise from a cloud texture, this is distorted radially to make streaks (that you could animate). Then this is coloured with a fringe using the Projector node.

Make a single mask with 2 circle shapes on their own layers:


Layer one use Add function





Layer two use a Merge Subtract function





Make sure both layers are active, tick the eye buttons




Use this mask shape with a noise texture that is distorted with a radial blend texture using a UV map node:

 

Here's the blend file I created for this effect: 

UPDATE:
Here's the flare turned up to 11!
I duplicated the projector node for more color and added a ramp to the radial blend so that I could better control the stretch of the cloud texture.