【发布时间】:2014-12-17 18:42:03
【问题描述】:
我正在尝试了解如何将基于令牌(基于密钥?)的身份验证引入移动客户端将使用的 Web API(目前正在查看 Sinatra,但也可能是 Rails)和OAuth 将如何融入其中。
假设我想创建一个使用 Facebook 进行身份验证和获取基本用户数据的 Web 服务。在这里,我的 API 将是 Facebook 的 OAuth 服务器的客户端,在用户成功登录 Facebook 时请求访问令牌。然后,这将授予我访问用户数据的权限,我将使用这些数据在我的数据库中创建一个条目,将此用户特定令牌与我希望链接到它们的任何其他应用程序信息一起存储。
到目前为止,我认为我的那部分是正确的,但在这里我有点困惑。
我认为我的 API 还需要某种形式的 API 密钥来授予移动用户访问权限,因为我不想在他们的设备上传输和存储 Facebook 密钥。我是否必须有一个单独的密钥存储区,提供给客户才能访问我的服务?是否有任何“最佳实践”方法可以做到这一点?
【问题讨论】:
标签: ruby api authentication oauth sinatra