That’s a good point @riddim, the question is where to place this functionality as I think you realise, plus when and who will do it.
Wrapping this up and simplifying auth can be done in a library, but I suspect hard to do outside the particular client side implementations. So you might need a library for each language/client type.
Safenetworkjs achieves this with a core of common code (courtesy of @bzee) which does the auth, plus different ways to build for Web or desktop. But for the programmer the API is the same, with some simple authorisation functions. So very easy to use.
This model can probably be extended so that the same Safenetworkjs client API can also support the new headless authorisation methods (ie not via SAFE Browser). At least I hope so, but have not looked into that.
Wrapping this up in a language specific library simplifies development by providing a common API for each language, not just for auth but also other simplifications and common application functions. Creating public names, uploading and managing files for example, which are all quite tricky to do using the SAFE API.
It is though a lot of work to provide this (because it is tricky!), because I think for now at least it needs to be done for each client language/platform, and so is not going to be a priority for Maidsafe for a while at least.
So I think it is up to us! I hope that others will develop similar helper libraries as they master the SAFE APIs, making it easier for those who come after (as well as for themselves - having created Safenetworkjs I will find it much easier to new build applications myself too).
I know Maidsafe do have plans to simplify the developer experience, so I’ve no doubt even better options will come but it will take time because there are many things they could do, and many languages and platforms to support.
It is also possible that Maidsafe will tackle this area (cross language /platform auth) on its own, because you are right that it is a big stumbling block.
I think though that for now they have so much to do that making things possible is the priority for the time being, rather than making things easy.