Use a zero drift op-amp, a precision low TC resistor, and a fet. Connect the gate of the fet to the output of the opamp. Connect the non-invering input of the op-amp to your voltage reference. Connect thr invering input to the source and the resistor. Connect the other side of the resitor to the rail connected to the other side of the reference. The current output will be the drain of the fet. You can use a enhacement or depletion mode mosfet, or a jfet depending on circuit node voltages. Use a p-channel device if you want the current source to be on the high side, or an n-channel device if you want it on the low side.
You can also use a npn or pnp bipolar, but there will be a slight error becasue of the base current. gate --> base source--> emitter drain --> collector (output)
If I am not concerned about fine accuarcy I usually use a bipolar. It is your choice depending on your needs.
Since for loop gain the fet or bipolar is being operated as a source (or emitter) follower, the op amp loop remains stable so long as you uas a slow (<4 MHz) unity gain stable op-amp.