I've recently been working on a project to integrate with a 3rd party. This is normal work in software development; we constantly work to make this system talk to that system and so on. The web has made this a lot easier, as many groups are moving their APIs to a more standard kind of setup. REST is ruling the integration world right now (as far as I can tell), and I don't see that changing any time soon.
Security... is a different matter. Authorization and authentication tools keep evolving, sometimes in sync with integration... and sometimes not. Spring is currently pushing out new and shiny updates to spring boot (2.1.0 just came out!), but spring security has not necessarily been keeping up. This isn't unique to spring. The 3rd party integration I'm working on is still using OAuth1.0 (NOT 1.0a if I can believe the documentation). When I saw that, I am sad to say that I was not surprised.
Sparing the debate of OAuth1.0a vs OAuth2.0 and the comparison of OAuth to other options like JWT, I find two things frustrating:
Security... is a different matter. Authorization and authentication tools keep evolving, sometimes in sync with integration... and sometimes not. Spring is currently pushing out new and shiny updates to spring boot (2.1.0 just came out!), but spring security has not necessarily been keeping up. This isn't unique to spring. The 3rd party integration I'm working on is still using OAuth1.0 (NOT 1.0a if I can believe the documentation). When I saw that, I am sad to say that I was not surprised.
Sparing the debate of OAuth1.0a vs OAuth2.0 and the comparison of OAuth to other options like JWT, I find two things frustrating:
- Security always seems to take a back seat... which leads to problems. Feature work is important, I know. It keeps the lights on. But in a world where data leaks are regular news, I fear for this continuous cycle of security falling behind.
- Documentation for OAuth is vague. Many places that claim to document OAuth are for OAuth 2.0, but they don't say 2.0. I can understand that older documentation referencing OAuth 1.0 would just say 'OAuth' because 2.0 hadn't come out yet. What makes this worse is the weirdly different nature of OAuth 1.0(a) vs 2.0. I'm not a security expert at all, but I see over and over again that 1.0(a) and 2.0 are nothing alike, so it is super frustrating to keep digging for documentation on 1.0(a), and I won't know whether what I am reading is referencing one or the other. So much of what the documentation on OAuth has to say is #toovague.
Comments
Post a Comment