我有一个 REST 服务,当用户单击 Facebook 或 Google 图标时,我的移动应用程序使用该服务进行身份验证。
该服务从提供者那里接受用户的 id 并检查它是否存在于数据库中,然后发出 access_token 以用于其他方法。
问题是我只是认为有人可以很容易地拦截调用并发现哪个服务进行身份验证以及用户 ID 是什么,然后调用它来获取令牌。
我怎样才能避免这种情况?
我有一个 REST 服务,当用户单击 Facebook 或 Google 图标时,我的移动应用程序使用该服务进行身份验证。
该服务从提供者那里接受用户的 id 并检查它是否存在于数据库中,然后发出 access_token 以用于其他方法。
问题是我只是认为有人可以很容易地拦截调用并发现哪个服务进行身份验证以及用户 ID 是什么,然后调用它来获取令牌。
我怎样才能避免这种情况?
我认为您只需要将身份验证和授权功能分开即可。您可以让 Google ( Google Sign-In ) 处理身份验证。如果您遵循 API,他们将安全地对用户进行身份验证并向您发送您可以验证的令牌。
一旦您确定他们是谁,您的网站就可以安全地适当地授权该用户。例如,他们可能是现有用户、需要创建帐户、成为管理员。您可以根据 Google 认证的用户(在我的示例中)在您的网站上进行这些授权。