【发布时间】:2010-12-17 16:46:21
【问题描述】:
我有一个使用 Sinatra、Datamapper 构建的基本 Ruby 应用程序,并使用 OAuth 进行用户身份验证。当我从 Oauth 服务收到数据时,我将新用户的记录保存在 sqlite3 数据库中。
我不知道该怎么做是如何去验证用户数据库表中不存在用户记录。我可以使用用户的唯一 id (uid) 来交叉检查 uid 是否已存储,但我只是不确定在哪里执行此操作。
我有 2 个课程和一个 /callback 路线。 User 类是 db 模型,Authentication 类具有连接到 OAuth 的各种方法,以及将具有的 /callback 路由正在调用的 Authentication.save 方法。
我是否应该在 Authentication.save 方法中检查现有记录并返回布尔值或其他值?在 Authentication 中创建一个类似于 Authentication.exists 的新方法? (那会是什么样子?)或者我应该在 /callback 路线内进行检查?
如果这不是 100% 清楚,我深表歉意,我很难描述我的问题,而且我是一个绝对的 Ruby 初学者...
【问题讨论】:
标签: ruby oauth sinatra datamapper