I think libraries are complicated so that they can be flexible and support many different use cases. You could release one library for authentication that works for one specific use case, but it would be useless for all others.
Alternatively, tell me your complicated auth flows that will not have users running away screaming and are, therefor, bad ideas and should be replaced by cookie cutter stuff. Because that is where all of these things end up.
Drop in the plugin you want, configure the API keys, and then wire it into your User model. Then you can customize the urls, views, and emails.
You still have to read a fair amount of documentation and a lot of developers don't like the extra up-front work and reinvent the wheel because it's "simpler".
The simple use cases should just be plug and play. If you want a different solution: here are the tools, here is the documentation, have fun.