Все провайдеры входа, которые поддерживает переполнение стека, используют OpenID - см. http://openid.net/
По крайней мере, теоретически это означает, что вам нужно написать только один набор кода для поддержки всех из них.
(На практике есть некоторые полезные функции, такие как преобразование имени пользователя в URL-адрес am OpenID, для которого потребуется разный код для сайта, но такого рода вещи не нужны.)