0

是否可以在 WAMS 中向服务器上的用户对象添加其他属性?我想存储我的 User 表的 Id 主键,以便在我的表脚本中(安全)使用。目前唯一的 id 是供应商特定的身份验证 ID,但我希望能够允许用户选择一种身份验证方法。目前我的(简化)表设计如下:

用户表:

  • ID
  • 谷歌ID
  • 推特ID
  • 脸书ID
  • 名字之类的……

排行榜

  • ID
  • 用户身份
  • 姓名等

我想将用户主键存储在联赛表的 userId 字段中,然后对其进行查询以确保用户只能看到他们创建的联赛。目前,表脚本中的用户对象通过带有 Google/Twitter/Windows 身份验证令牌的用户对象发送,并且每次我想对表执行操作时,我都必须进行查询以获取主键 userID一个用户 ID 列。

理想的解决方案是,当我的用户表上的插入脚本在注册和登录时被调用时,我可以这样做:

// PSEUDO CODE
function insert(item, user, request) {
    var appUserId;
    Query the user table using the user.userId Google/Twitter/Facebook id
    If user exists {
       // Set a persisted appUserId to use in all subsequent table scripts.
       user.appUserId = results.id;
    } else {
         Set the GooTwitFace columns on the user table, from user.userId
         insert the user then get the inserted record id
             // Set a persisted appUserId to use in all subsequent table scripts
            user.appUserId = insertUserPK;
    }
}

然后,在后续的表脚本中,我想user.appUserId在查询中使用

4

1 回答 1

0

如果您要做的只是授权用户只能访问他们自己的数据,我不确定您甚至需要“用户”表。只需在用户对象上使用特定于提供者的 userId 来查询您的“联盟”表(确保 userId 列已编入索引)。这些值将是特定于提供者的,但这不应该有任何区别。

如果您试图在用户的 Google/Facebook/Twitter 登录中维护单一用户身份的概念,那么这是一个更复杂的问题,您需要一个“用户”表和您所描述的查找类型。我们希望提供对这种场景的支持,作为开箱即用的功能。自己做这个是可能的(但相当混乱),让我知道这是否是你想要做的。

于 2013-05-02T21:34:39.117 回答