通常,当Web服务需要授权第三方访问安全资源时,会使用OAuth。
但是,如果我有自己的移动应用程序和我自己的网络服务,并且在可预见的将来我没有将我的API暴露给第三方应用程序,是否有任何理由使用OAuth对用户进行身份验证?在这种情况下使用OAuth的优缺点是什么?
答案 0 :(得分:3)
以与第三方相同的方式使用自己的API的最大好处之一就是您dogfooding自己的系统。这样做往往会带来更好的整体产品,因为你通常会更快地消除缺陷和打嗝,因为它们会直接影响你,而不只是第三方消费者会通知你问题。
使用OAuth的另一个好处是你不必重新发明轮子,它已经是一个非常好的支持机制。用户也非常熟悉它,所以你保持进入(和维持)的障碍比你走另一条路线要低。
由于您不希望立即将API暴露给任何其他人,因此您可能会认为其优势更小,但如果您想要将其暴露在路上,那么您将通过强制将其领先于游戏领先你可以在门外使用它。
一个缺点是OAuth比其他可能的认证机制复杂一点,但我仍然认为不重新发明轮子的净收益超过了额外的复杂性。