如何保护从第三方登录的REST服务

如何保护从第三方登录的REST服务,rest,openid,openid-provider,Rest,Openid,Openid Provider,我有一个REST服务,当用户点击Facebook或谷歌图标时,我的移动应用程序会使用该服务进行身份验证 该服务从提供者处接受用户id,并检查数据库中是否存在该id,然后发出用于其他方法的access_令牌 问题是,我只是认为,有人可以很容易地拦截呼叫,发现哪个服务进行身份验证,用户id是什么,然后用它来获取令牌 如何避免这种情况?我认为您只需要将身份验证和授权功能分开。您可以让Google处理身份验证。如果您遵循API,他们将安全地对用户进行身份验证,并向您发送您可以验证的令牌 一旦你确定他们是

我有一个REST服务,当用户点击Facebook或谷歌图标时,我的移动应用程序会使用该服务进行身份验证

该服务从提供者处接受用户id,并检查数据库中是否存在该id,然后发出用于其他方法的access_令牌

问题是,我只是认为,有人可以很容易地拦截呼叫,发现哪个服务进行身份验证,用户id是什么,然后用它来获取令牌


如何避免这种情况?

我认为您只需要将身份验证和授权功能分开。您可以让Google处理身份验证。如果您遵循API,他们将安全地对用户进行身份验证,并向您发送您可以验证的令牌

一旦你确定他们是谁,你的网站就可以安全地适当地授权该用户。例如,他们可能是现有用户,需要创建帐户,或者是管理员。在我的例子中,你可以根据谷歌认证的用户在你的网站上进行授权

,其他人也这样做。另见