It appears that some extensions are mutually incompatible. I think it is because of the way authlogic is made and not really the extensions' fault (I might be wrong).
The #save scheme with block does not work correctly the way it is now implemented. If you have two extensions that need it (e.g. open_id and oauth extensions), then both extensions will yield to the block. Yielding twice is not the right thing to do (since some logic could be in that block) and will automatically result in (at best) a DoubleRender error.
Maybe authlogic's #save itself should yield to the block; this way the extensions won't have to do it themselves?
Errm... anyone solved this?
From an issue on authlogic_facebook_connect http://github.com/kalasjocke/authlogic_facebook_connect/issues#issue/17
The way I've been handling conflicting plugins is to modify the plugins to only function if certain query parameters are passed in. Then if someone clicks on the FBConnect or TwitterOAuth buttons, they trigger only the specific plugin:
Here is an example of how I use it: http://gist.github.com/360833