如何在RPC中使用OAuth?

时间:2015-08-03 21:45:25

标签: rest authentication oauth

(我对OAuth知之甚少,所以请耐心等待。)

我有一个后端系统,可供其他公司通过REST-ish API使用。我添加了Basic Auth,现在我需要检查凭据。我想过使用OAuth,所以我可以通过让合作伙伴自己管理密码来节省我的公司资源。

由于这是一个RPC API,它需要: 1.没有人际互动 2.需要快速(例如,检查内存缓存)

我应该/可以使用OAuth吗?如果没有,有什么选择?

1 个答案:

答案 0 :(得分:0)

基本身份验证不是REST-ful API的良好身份验证方案(有关详细信息,请参阅here)。

使用OAuth2安全协议并不能使您的公司无法管理密码本身。您可以使用Azure AD(支持OAuth2)等服务并构建多租户应用程序。这样,您的用户就可以使用自己的Azure AD目录(他们自己管理的帐户)登录帐户。

当您说RPC API时,您是在谈论SOAP服务还是XML-RPC服务?我假设你的意思是后者。

使用承载令牌的几种安全协议具有您正在寻找的特性。接收令牌的服务仅需要验证数字签名以确定它是否可以信任令牌。这是一个非常快速的操作。不需要与颁发认证服务进行通信。

OAuth2当然是一种能够满足这些要求的协议。您要使用哪个授权流程取决于您的客户端应用程序。我解释了不同的拨款流程here