Basically you want to affect the brightness of the light every so often i think... i did have a go at this myself and never managed to get anything that looked good enough...
Basically increasing and decreasing the brightness smoothly (but quickly) every so often will make the light flicker to some extent...
I guess first of all you could try and get your light to loop from fully off to fully on (probably just changing the colour from 0,0,0 to 1,1,1 for off -> on) slowly. once you've got that code working then you can reduce the range of the light (so it's not off to on but darkish to your highest desired brightness) and make it change between them quicker. And you wouldn't want to always go between the same range of brightness, so you'd want a random number to be generated for the range and you'd want the timing to be pretty random too so it doesn't have predicatable flickering.
I don't know if that will make much sense as it's kinda like a brain dump but hopefully it will point you in the right direction, post back if you need more help!
I don't think that fire really flickers that much, at least not from off to on. It merely changes the position of the most intensive spots, which makes shadows move with high frequency.
For the actual flames you can use texture animation stuff, etc, and for the light changes you might try to move the light center very fast inside the flames. However, more authentic lighting will require some cubemap lights or some other shader based techniques.